开发用到的Oracle函数笔记
2017-12-26 15:27
597 查看
to_char()
格式:TO_CHAR(number,format) 即 TO_CHAR((数值,格式)
用法: 1、不指定格式的 TO_CHAR函数将数值转换成简单字符串形式。
例: TO_CHAR(123) 结果 123
TO_CHAR(-123) 结果 -123
其他用法:http://blog.sina.com.cn/s/blog_4cbadf5a0100f7u7.html
“||”
1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。
例如:
其他用法:https://www.cnblogs.com/wangfuyou/p/5948859.html
CONCAT()
用法:CONCAT()函数用于将多个字符串连接成一个字符串。
CONCAT(t3.schedule, ‘%’)
CONCAT(CONCAT(‘[‘,sd.subitemname),’]’) || t2.username
http://blog.csdn.net/u014158708/article/details/48180541
wm_concat()
该函数可以把列值以”,”号分隔起来,并显示成一行
查询结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/773bf45d7a7f8179083ac708ddf5fffd)
此处对userid进行了分组,可以查询出当前userid的角色有哪些
资料:http://www.jb51.net/article/37604.htm
http://blog.csdn.net/ojerryzuo/article/details/53927057
substr()
substr(字符串,截取开始位置,截取长度) //返回截取的字
测试:
附:java中substring(index1,index2)的简单用法
作用:从字符串索引(下标)为index1的字符开始截取长度为index2-index1 的字符串。
打印结果为:Hello
union 和 union all
union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
union all:对两个结果集进行并集操作,包括重复行,不进行排序;
查询项目树结构(不包括废除状态‘3’):
查询结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/acf0556cd52cd78f273888feefc9d9a1)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/865a84eb5b808c35aae5f375fb177e2c)
资料:https://www.cnblogs.com/macavalier/p/3154269.html
min()
返回一个数字列或计算列的最小值
max()
返回一个数字列或计算列的最大值和最小值用法一样
count()
用来计算有效数据的数量
sum()
返回一个数字列或计算列总和
avg()
返回一个数字列或计算列的平均值
nvl(expr1,expr2)
nvl(t1.username,’无’)
NVL(expr1,expr2) 如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
to_number()
to_number()函数是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。
资料:http://blog.csdn.net/dongdong9223/article/details/48972815
trunc()
资料:http://www.cnblogs.com/suding1188/archive/2013/01/06/2848067.html
猜猜下面函数的作用:
(case when
(to_date(t2.enddate,’yyyymmdd’)-to_date(:currentDate<”KDT_INT + “>,’yyyymmdd’)) < 0 then 0 else
(to_date(t2.enddate,’yyyymmdd’)-to_date(:currentDate<”KDT_INT + “>,’yyyymmdd’)) end)
格式:TO_CHAR(number,format) 即 TO_CHAR((数值,格式)
用法: 1、不指定格式的 TO_CHAR函数将数值转换成简单字符串形式。
例: TO_CHAR(123) 结果 123
TO_CHAR(-123) 结果 -123
其他用法:http://blog.sina.com.cn/s/blog_4cbadf5a0100f7u7.html
“||”
1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。
例如:
SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee WHERE FName IS NOT NULL
其他用法:https://www.cnblogs.com/wangfuyou/p/5948859.html
CONCAT()
用法:CONCAT()函数用于将多个字符串连接成一个字符串。
CONCAT(t3.schedule, ‘%’)
CONCAT(CONCAT(‘[‘,sd.subitemname),’]’) || t2.username
http://blog.csdn.net/u014158708/article/details/48180541
wm_concat()
该函数可以把列值以”,”号分隔起来,并显示成一行
select wm_concat(name) from test;
select g.userid, wm_concat(g.roleid) roleid, wm_concat(g.rolename) rolename from ( select rr.userid, re.rolename, re.roleid from KD_ROLEMEMBER rr left join KD_ROLE re on rr.roleid = re.roleid ) g group by g.userid
查询结果:
此处对userid进行了分组,可以查询出当前userid的角色有哪些
资料:http://www.jb51.net/article/37604.htm
http://blog.csdn.net/ojerryzuo/article/details/53927057
substr()
substr(字符串,截取开始位置,截取长度) //返回截取的字
substr('Hello World',0,1)//返回结果为 ‘H’ *从字符串第一个字符开始截取长度为1的字符串
substr('Hello World',1,1)//返回结果为 ‘H’ *0和1都是表示截取的开始位置为第一个字符
substr('Hello World',2,4)//返回结果为 ‘ello’
substr('Hello World',-3,3)//返回结果为 ‘rld’ *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符
测试:
select substr('Hello World',-3,3) value from dual;
附:java中substring(index1,index2)的简单用法
作用:从字符串索引(下标)为index1的字符开始截取长度为index2-index1 的字符串。
String str="Hello World"; System.out.println(str.substring(0,5));
打印结果为:Hello
union 和 union all
union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
union all:对两个结果集进行并集操作,包括重复行,不进行排序;
查询项目树结构(不包括废除状态‘3’):
select mid the_id, name the_text, fid the_pid from t_module_task where state != '3' union all select proid the_id, name the_text, '0' from t_project where state != '3'
查询结果:
资料:https://www.cnblogs.com/macavalier/p/3154269.html
min()
返回一个数字列或计算列的最小值
max()
返回一个数字列或计算列的最大值和最小值用法一样
count()
用来计算有效数据的数量
sum()
返回一个数字列或计算列总和
avg()
返回一个数字列或计算列的平均值
nvl(expr1,expr2)
nvl(t1.username,’无’)
NVL(expr1,expr2) 如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
to_number()
to_number()函数是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。
资料:http://blog.csdn.net/dongdong9223/article/details/48972815
trunc()
资料:http://www.cnblogs.com/suding1188/archive/2013/01/06/2848067.html
猜猜下面函数的作用:
CONCAT(nvl(trunc(t2.module_schedule, 1),'0'), '%')
(case when
(to_date(t2.enddate,’yyyymmdd’)-to_date(:currentDate<”KDT_INT + “>,’yyyymmdd’)) < 0 then 0 else
(to_date(t2.enddate,’yyyymmdd’)-to_date(:currentDate<”KDT_INT + “>,’yyyymmdd’)) end)
相关文章推荐
- oracle用到的函数和SQL笔记
- oracle 开发中用到的函数总结
- Oracle开发专题之:分析函数总结
- Oracle新手笔记(1)- Oracle 数据库命名问题及使用Oracle数据库开发的软件的命名问题
- Oracle SQL开发笔记
- Oracle SQL开发笔记(持续更新中...)
- nginx开发笔记_字符串操作函数
- Oracle开发专题之:分析函数(OVER)用法
- iOS开发学习笔记 2-6 C语言部分 函数及变量的作用域
- Oracle在Linux下的occi开发 用到了一个特殊开发包 libsqlora8-2.1
- oracle学习笔记-命令和函数
- Oracle开发之分析函数总结
- ORACLE数据库常用函数学习笔记(持续更新...)
- oracle 笔记 III 之存储过程与函数
- Oracle SQL开发学习笔记
- 【笔记】iOS开发用到的一些终端的命令
- [iphone 开发学习笔记]Object-C和C语言最大的区别也是最大的扩展-----消息(即如何调用一个对象中的函数)
- oracle 存储过程和函数学习笔记
- Oracle分析函数学习笔记1
- IOS开发笔记7-函数-C语言笔记