Oracle-查询之函数

DQL语句:查询语句用于查询表中数据
DQL必须包含的两个部分:select 子句 和from 子句
select子句:指定要查询的内容,可以指定表中的具体字段,*号,函数,或者表达式from子句:指定数据来源的表
DQL中使用where子句可以添加过滤条件,来检索只符合过滤条件的记录。

字符串函数:1.CONCAT(C1,C2):连接字符串C1和C2
"||"也可以用来连接多个字符串
2.LENGTH(C):查看指定字符串的长度
3.UPPER,LOWER,INITCAPI 将指定的字符转换为全大写,全小写,以及首字母大写
initcap中的字符串可以使用空格分割多个单词,这样每个单词的首字母都大写。当查询的数据不与任何表数据有关系时,可以查询伪表dual
4:TRIM,LTRIM,RTRIM 去除字符串两边,左边,右边指定重复字符
LTRIM,RTRIM在删除字符时,只有左边(右边)的每个字符时第二个参数字符串中任意一个字符就去除
5.LPAD,RPAD 补位函数 LPAD(C1,N,C2):将c1显示n伪长度,若c1不足n位,则左侧补充若干个c2字符,以达到n位长度,若超过,则左侧开始截取c1为n位长度并返回
6.SUBSTR(C,M[,N])截取字符串c,从第m个字符开始,连续截取n个字符,若n不指定则是攫取到字符串末尾,若n超过实际可截取的字符串个数也是攫取到字符串末尾,数据库中下标是从1开始的
7.INSTR(CHAR1,CHAR2[,N[,M]]):查找cahr2在char1中的位置,n从第几个字符开始检索,不写默认为1,m查找第几次出现,不谢默认为1
数值函数 1.ROUND对n进行四舍五入,保留小数点后m位,若m不指定则默认为0,0表示保留整数位,若m为负数,则小数点前十位以上数字,-1表示保留十位。。。
2.TRUNC(N[,M]) 不四舍五入直接截取
3.MOD(M,N) 求余数,规则为m除以n 若n为0 则函数直接返回m
4.CEIL,FLOOR 向上取整,向下取整
日期相关关键字
SYSDATE,SYSTIMESTAMP他们对应ORACLE内部的函数库,返回一个当前系统时间,不同的在于一个返回date类型,另一个返回时间戳类型
日期转换函数
1.TO_DATE()将一个字符串按照给定的日期格式解析为一个date类型数据
DATE类型数据可以计算:两个date类型时间相减,差为相差天数,对一个date加减一个数字等于加减了天数,日期之间可以比较大小,越晚越大。
在日期格式字符串中出现字母符号除外的其他字符都需要使用双引号括起来
2.TO_CHAR() 可以将日期转换为字符串,TO_CHAR()函数实际上可以将其他类型转换为字符串,常用得是将日期转换为字符串
日期格式中的YY,RR的区别,都是用两位数字表示年,他们在使用TO_DATE函数将一个字符串中2位数字的面解释为实际的年时对世纪的处理方式不同,YY是根据当前系统多在世纪来解释世纪的,RR则根据具体情况判定
日期常用函数:
1.LASE_DATE(DATE)返回给定日期所在月的月底日期
2.ADD_MONTHS(DATE,I)给指定日期加上指定的月,若为负数则减去指定月
3.MONTHS_BETWEEN(DATE1,DATE2)计算两个日期之间相差月份
4.NEXT_DAY(DATE,I) 返回给定日期第二天开始一周之内的指定周几的日期
5.LEASE,GREATEST 求最小值与最大值,在日期中使用则是求最早的日期与最晚的日期
6.EXTRACT获取指定日期对应的时间分量
判断是否null使用is null 或者is not null
null的运算:null与字符串连接等于什么也没做,null与数字计算,结果还是null
空值函数 NVL(A1,A2)当a1位null时函数返回a2的值,若a1不为null函数返回a1本身,所以NVL函数的意义是null值替换为非null值
NVL2(A1,A2,A3)当a1不为null返回a2,当a1为null时返回a3

 

我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

更多精彩以后更新,转载注明!

posted @ 2017-09-13 22:55  Einsam  阅读(354)  评论(0编辑  收藏  举报