--常用的字符函数 -- 1. initcap(char) 函数。 让首字母大写 以下是代码实例 select initcap('hello') from dual --输出结果 Hello -- 2. lower(char) 函数。 转换为小写 以下是代码实例 select lower('HELLO') from dual --输出结果 hello -- 3. upper(char) 函数。 转换为大写 以下是代码实例 select upper('hello') from dual --输出结果 HELLO -- 4. ltrim(char,set) 函数。 左裁剪 set为你要剪切掉的值 以下是代码实例 select ltrim('hello word','hell') from dual --输出结果 o word -- 5. rtrim(char,set) 函数。 右裁剪 set为你要剪切掉的值 以下是代码实例 select rtrim('hello word','ord') from dual --输出结果 hello w -- 6. replace(char,search_str,replace_str) 函数。替换字符串 参数一为字符串,参数二为字符串中的要替换的字符串,参数三为替换的字符串 以下是代码实例 select replace('hello word','o','sa') from dual --输出结果 hellsa wsard -- 7. instr(char,substr) 函数。 查找字符位置s substr为你要查找的值 从1开始 以下是代码实例 select instr('hello word','or') from dual --输出结果 8 -- 8. substr(char,pos,len) 函数。 截取字符串 char为字符串 从pos位置截取长度为len的字符串 以下是代码实例 select substr('hello word',2,2) from dual --输出结果 el -- 8. concat(char1,char2) 函数。 拼接字符串 以下是代码实例 select concat('hello','word') from dual --输出结果 helloword -- 9. translate(char,from,to) 函数。 按字符翻译,char为要翻译的字符串,如果char中任何一个字符和from任何字符对应, --则替换成from对应的to那个位置的值,如果to对应位置没有值,则会为空 以下是代码实例 select translate('hello','eo','13') from dual --输出结果 h1ll3 select translate('hello','edo','13') from dual --输出结果 h1ll --常用的数字函数 -- 1. abs(num) 函数。 取绝对值。也就是相反值 以下是代码实例 -3- select abs(-15) from dual --输出结果 15 -- 2. ceil(num) 函数。 向上取整。只要超过这个整数,不管超过多少 ,都会向上取整 以下是代码实例 -3- select ceil(44.22) from dual --输出结果 45 -- 3. floor(num) 函数。 向下取整。 以下是代码实例 -3- select floor(44.99) from dual --输出结果 44 -- 4. sin(num) 函数。 正 弓玄。 以下是代码实例 -3- 制作者根本不知道什么是正 弓玄 - - select sin(1.571) from dual --输出结果 0.999999979258613 -- 5. cos(num) 函数。 余 弓玄。 以下是代码实例 -3- 制作者根本不知道什么是余 弓玄 - - select cos(0) from dual --输出结果 1 -- 6. sign(num) 函数。 取符号。如果num小于0就返回-1,大于0返回1 等于0返回0 以下是代码实例 -3- select sign(-0.5) from dual --输出结果 -1 -- 7. power(m,n) 函数。m的n次方 以下是代码实例 -3- select power(5,3) from dual --输出结果 125 -- 8. mod(m,n) 函数。取膜,就是取余数,m除以n剩下除不完的数 以下是代码实例 -3- select mod(11,3) from dual --输出结果 2 -- 9. round(m,n) 函数。四舍五入,m值四舍五入 n是保留的小数点位数 以下是代码实例 -3- select round(11.256,2) from dual --输出结果 11.26 -- 10. trunc(m,n) 函数。截断,m是要截断的数字 n是要保留的小数点位数 以下是代码实例 -3- select trunc(11.256,2) from dual --输出结果 11.25 -- 11. sqrt(num) 函数。求平方根 以下是代码实例 -3- select sqrt(9) from dual --输出结果 3 因为 3*3 = 9 --常用的日期函数 -- 1. months_between(date1,date2) 函数。 取两个日期的月份差值,第一个date 减第二个date 如2012,2011 那么返回12 以下是代码实例 -3- select months_between(to_date('2012-1-1','yyyy-mm-dd'),to_date('2011-1-2','yyyy-mm-dd')) from dual --输出结果 11.9677419354839 -- 2. add_months(date,month) 函数。 返回把month整数月份数加到date的值 可以为负数 以下是代码实例 -3- select add_months(sysdate,1) from dual --注:编者当前时间为2013/5/11 --输出结果 2013/6/11 11:03:59 -- 3. next_day(date,星期几(int型)) 函数。 返回下次星期几对应的日期 1为星期天 7为星期6 以下是代码实例 -3- select next_day(sysdate,7) from dual --注:编者当前时间为2013/5/11星期6 返回下次星期六 的日期 --输出结果 2013/5/18 -- 4. last_day(date) 函数。 返回指定日期所在的月的最后一天 以下是代码实例 -3- select last_day(sysdate) from dual --注:编者当前时间为2013/5/11 --输出结果 2013/5/31 -- 5. round(date,type) 函数。 对日期进行四舍五入 type可以是 year , month day等日期格式 以下是代码实例 -3- select round(to_date('2012-6-16','yyyy-mm-dd'),'yy') from dual --输出结果 2012/1/1 select round(to_date('2012-6-16','yyyy-mm-dd'),'mm') from dual --输出结果 2012/7/1 -- 6. trunc(date,type) 函数。 对指定的日期以某种格式进行截断,抛弃其他的日期 type可以是 year , month day等日期格式 以下是代码实例 -3- select trunc(to_date('2012-6-16','yyyy-mm-dd'),'yy') from dual --输出结果 2012/1/1 select trunc(to_date('2012-6-16','yyyy-mm-dd'),'mm') from dual --输出结果 2012/6/1 --常用的转换函数 与 常用其他函数 --转换函数 -- 1. to_char(char,type) 函数。 把char按type的格式转换成字符串,也可以转换日期 以下是代码实例 -3- select to_char(to_date('2012-1-1','yyyy-mm-dd'),'yyyy"年"mm"月"dd"日"') from dual --输出结果 2012年01月01日 select to_char(1234.5,'$9999.9') from dual --注意:这里一定要是最大的值。。也就是全是9 = = 虽然不知道为什么一定要这样。。。 --输出结果 $1234.5 -- 2. to_date(date,type) 函数。 转化为日期类型 date是要转化的日期,type是转化的格式,注意要两边要格式相同才可以转换 以下是代码实例 -3- select to_date('2013-5-8','yyyy-mm-dd') from dual --输出结果 2013/5/8 -- 3. to_number(num) 函数。把一个字符串转换为数字 以下是代码实例 -3- select to_number('123.4') from dual --输出结果 123.4 --其他函数 -- 1. nvl(value,exp1) 函数。用于将null值转换指定的值。使用于字符,数字,日期等数据类型 以下是代码实例 -3- select nvl(null,'空') from dual --如果value 为null 那么就输出 exp1的值 否则就输出value本来的值 --输出结果 空 -- 2. nvl2(value,exp1,exp2) 函数。 以下是代码实例 -3- select nvl2(null,'空','无') from dual --如果value 为null 那么就输出 exp2的值 否则就输出exp1的值 --输出结果 无 -- 3. decode(value,if1,then1,if2,then2,if3……else) 函数。相当于多重if - else - then 逻辑 以下是代码实例 -3- select decode(1,1,'正常',2,'禁用','大傻逼') from dual --如果value 为if1 那么就输出 then1的值 ……以此类推, 都不满足则输出else的值 --输出结果 正常 --常用的多行函数 相当于 sql的聚合函数 比较简单 不再一一叙述。 1.sum(字段名) 求和 avg(字段名) 求平均数 count(字段名) 求数量 max(字段名) 求最大值 min(字段名) 求最小值
Oracle常用函数
最新推荐文章于 2024-06-18 21:26:27 发布