本文共 4622 字,大约阅读时间需要 15 分钟。
【Orace】day02_字符串_数值_日期_NULL相关函数
1)CONCAT || --字符串连接操作
SELECT ename||':'||sal FROM emp; SELECT CONCAT(ename,comm) FROM emp;2)LENGTH --查看字符串长度
SELECT ename,LENGTH(ename) FROM emp; 3)DUAL:伪表为了满足SELECT语法要求,但是要查询的数据又与现有的表中数据没有关系时使用.
SELECT UPPER('hellO'), LOWER('HEllo'), INITCAP('HELLO WORLD'), INITCAP(NULL) FROM DUAL; 4)TRIM函数: 去除字符串左右两边重复的给定字符(仅能有一个字符) SELECT TRIM('a' FROM 'aeaaatimeaa aa') FROM DUAL; LTRIM与RTRIM 分别去除字符串左,右边的字符 --可以连续去除左边或右边出现的给定字符串中包含给定的字符就去除.--如果不指定去除的字符串则默认去除空格.
SELECT LTRIM('eaeaaatimeaaa','aet'), RTRIM('atimeeaae','ae'), LTRIM(' HH ') FROM DUAL; --结果为 'imeaaa' 'atim' 'HH ' 5)补位函数 LPAD,RPAD LPAD(str1,n,str2) 显示str1的内容,要求显示n为长度,若str1的长度不足n,则在左侧补充若干个str2字符以达到长度.
需要注意str2必须是单个字符.
LPAD常被用来实现“右对齐”,RPAD为“左对齐”. 当显示的位数不足时补齐,若显示的内容长度超过要显示的位数时, 只从左边开始保留要显示的位数个字符显示,剩下的会被去除. SELECT ename, LPAD(sal,6,'$'), RPAD(job,9,'*#') FROM emp; 6)SUBSTR函数 截取字符串 --SUBSTR(str,start,len) 截取给定字符串,从指定的位置对应的字符开始连续截取指定个字符.(注:数据库中的下标都是从1开始) 第二个参数可以写0,也相当于从1开始.还可以取负数,负数则是从倒数第几个字符开始截取. 第三个参数可以不指定,若不指定则是截取到字符串末尾,若第三个参数的大小超过了可截取的长度也是截取到末尾. SELECT SUBSTR('THINKING IN JAVA',-3,3) FROM DUAL; 7)INSTR函数 INSTR(char1,char2[,n[,m]]) 查看char2在char1中的位置.找不到则返回0. n:从第几个字符处开始查找,若不写默认为1.可以为负数,倒着数第几个.为0的时候返回0. m:查看出现第几次,若不写默认为1 SELECT INSTR('thinking in java','in',0) FROM DUAL; --01)ROUND(n[,m])
四舍五入,对n进行,保留小数点后n位. m可以不写,不写默认为0,相当于保留到整数位m可以为负数,保留十位以上数字.
SELECT ROUND(45.678,2) FROM DUAL; --45.68 SELECT ROUND(45.678,0) FROM DUAL; --46 SELECT ROUND(45.678,-2) FROM DUAL; --0 SELECT ROUND(55.678,-2) FROM DUAL; --100 2)TRUNC函数参数的含义与ROUND一致,效果仅仅是不进行四舍五入,所以是截取数字.
SELECT TRUNC(45.678,2) FROM DUAL; --45.67 SELECT TRUNC(45.678) FROM DUAL; --45 SELECT TRUNC(45.678,0) FROM DUAL; --45 SELECT TRUNC(45.678,-1) FROM DUAL; --40 SELECT TRUNC(45.678,-2) FROM DUAL; --0 3)MOD求余 MOD(m,n):m/n求余数若n为0则直接返回m
SELECT ename,MOD(sal,1000) FROM emp; 4)CEIL和FLOOR CEIL:返回大于给定参数的最小整数(向上取整)FLOOR:返回小于给定参数的最大整数(向下取整)
SELECT CEIL(45.678) FROM DUAL; --46 SELECT FLOOR(45.678) FROM DUAL; --45 SELECT FLOOR(45) FROM DUAL; --4510)LEAST,GREATEST函数 --比较函数
LEAST:返回给定参数中最小值的 GREATEST:返回给定参数中最大的参数多少个都可以.
SELECT LEAST(SYSDATE,'10-10月-08') FROM DUAL; SELECT GREATEST(SYSDATE,'10-10月-08') FROM DUAL; 11)EXTRACT函数 提取当前系统时间中的年: SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;SELECT ename,sal,comm,NVL2(comm,sal+comm,sal) FROM emp;
转载地址:http://cgews.baihongyu.com/