-
转换函数<br> 1、日期转字符<br> to_char(date[,fmt[,params]]):date表示要转换的日期,fmt表示转换的格式,params表示日期的语言(一般不写)<br> fmt的取值:年[YY/YYYY/YEAR],月[MM/MONTH],日[DD/DAY],时[HH12/HH24],分[MI],秒[SS]<br> 2、字符转日期<br> to_date(str[,fmt[,params]]):str表示日期格式的字符串,fmt表示转换的格式,params表示日期的语言(一般不写),该函数会按照系统默认的格式显示<br> fmt的取值:年[YY/YYYY/YEAR],月[MM/MONTH],日[DD/DAY],时[HH12/HH24],分[MI],秒[SS]<br> 3、数字转字符<br> to_char(number[,fmt]):number表示要转换的数字,fmt表示转换的格式<br> fmt的取值:[9]表示显示数字并忽略前面的0,[0]表示显示数字,位数不足,用0补齐,[.或D]表示显示小数点,[,或G]表示显示千位符,[$]表示美元符,[S]表示加正负号(前后都可以)<br> 4、字符转数字<br> to_number(str[,fmt]):str表示数字格式的字符串,fmt表示转换的格式,可以省略 select to_number('$912,345,64.877','$999,999,99.999') from dual 结果:91234564.877 数字类型转换成字符格式 to_char(number[,fmt]) 9:显示数字并忽略前面的0 0:显示数字,位数不足,用0补齐 .或D:显示小数点 ,或G:显示千分位 $:美元符号 S:加正负号(前后都可以) eg:select to_char(123456.789,'$999,999.99')from dual; 结果:$123,456:79 select to_char(123456.789,'S999,999.99')from dual; 结果:+123,456:79查看全部
-
日期函数: (1)系统时间 sysdate 默认格式DD-MON-RR 日-月-年 (2)日期操作 add_months(date,i)在当前日期加上i个月,i可以是任何整数;如果i是小数,系统会自动截取整数部分;如果是负数就是在当前日期减去i个月。 next_day(date,char)表示指定日期的下周几的日期,例: select next_day(sysdate,'星期一') from dual; 表示的是当前日期的下周一是几年几月几号。这个char表示星期几,可以输入中文也可以输入英文。 last_day(date)返回date所在月的最后一天 months_between(date1,date2)表示两个日期之间相隔的月份,返回值是小数 extract(date from datetime)表示获取指定日期的年或月或日,例: select extract(year from sysdate) from dual;表示返回当前日期的年 select extract(month from sysdate) from dual; select extract(day from sysdate) from dual; 此外还可以这样使用: select extract(hour from timestamp '2015-10-1 17:25:13') from dual;意思是获取时间戳的时。 结果为17查看全部
-
3、获取字符串长度函数 (1)LENGTH(str):截取长度,包含空格字符 例:select length('acd ') from dual;结果为4 4、字符串连接函数 (1)CONCAT(str1,str2):连接字符串,与操作符‘||’的作用一样。 例:select concat('ab','cd') from dual; 或者 select 'ab'||'cd' from dual; (5)去除子串函数 trim(c2 from c1) 表示从c1字符串中去除c2这个字符,注意截取集只能有一个字符 例:select trim('a' from 'abc') from dual; 结果为bc 如果写成select trim('ab' from 'abc') from dual;就会提示出错 ltrim(c1[,c2]) 表示从c1首字符开始去除一个c2,不管c1当中有多少个c2,都只能从头开始去除一个! 例:select ltrim('ababaa','a') from dual; 结果为babaa rtrim(c1[,c2]) 表示从c1末尾开始去除一个c2,l表示左边、r表示右边。 例:select rtirm('ababaa','a') from dual;结果为abab 会发现截取了两个a,说明这里的截取集只能有一个字符的含义是只能有一种单个字符,既不能出现‘ab’这样的类型,但是截取结果不一定就截取了一个字符,比如截取集是‘a’,如果有相邻的字符会一起被截取,在源字符串中‘ababaa’从末端截去时两个a相邻所以都被截取了。 trim(c1) 表示去除首尾的空格 ltrim(c1)表示去除左端的空格 rtrim(c1)表示去除右端的空格 (6)替换函数 replace(char,s_string[,r_string]) 省略r_string用空格替换 s_string表示要替换的字符串,r_string表示替换成什么样的字符串。 注意若干个字符同样可以被一个字符替换,例: select replace('abcde','ab','A') from dual; 结果为Acde r如果r_string不写空格将会替代 select replace('abcd','a') from dual; 结果为: bcd(b前有个空格)查看全部
-
字符函数: (1)大小写转换函数 upper(char) 将小写字母变成大写字母 lower(char)将大写字母变成小写字母 initcap(char)将首字母进行大写转换 例:select upper('abcd'),lower('ABCd'),initcap('aHDX') from dual; 结果为:ABCD abcd AHDX (2)获取子字符串函数 substr(char,[m[,n]]) m表示取子串的开始位置 n表示截取子串的位数 例:select substr('abcde',2,3) ,substr('abcde',2),substr('abcde',-2,1) from dual; 结果为: bcd bcde d 注意:m=0表示从首字母开始截取,n可以省略表示从m的位置截取到字符串末尾; 如果m=0且省略n那么结果仍为源字符串; 如果m为负数表示从字符串的尾部开始截取查看全部
-
四舍五入函数: round(n,[m]) m>0:小数点后m位;m<0:小数点前m位 m=0时,就是将小数点后的四舍五入 eg:select round(23.4),round(23.45,1),round(23.45,-1) from dual; 23 23.5 20 取整函数: ceil(n)--取上限(不管小数点后为多少都加1) floor(n)--取下限 eg:select ceil(23.45),floor(23.45) from dual; 24 23 绝对值: abs(n)--取绝对值 eg:select abs(23.45),abs(-23),abs(0) from dual; 23.45 23 0 取余数: mod(m,n) m/n 若m,n任何一个值为null,则结果返回null值 eg:select mod(5,2) from dual; 1 select mod(5,null) from dual; (空值) m的n次幂: power(m,n) eg:select power(2,3),power(null,2) from dual; 8 (空值) 平方根: sqrt(m) 16的平方根表示为sqrt(16),结果是4 eg:select sqrt(16)from dual; 4 三角函数: sin(n)、asin(n)--正弦、反正弦 cos(n)、acos(n)--余弦、反余弦 tan(n)、atan(n)--正切、反正切 n 为弧度 eg:select sin(3.124) from dual; .017591746查看全部
-
转换函数<br> 1、日期转字符<br> to_char(date[,fmt[,params]]):date表示要转换的日期,fmt表示转换的格式,params表示日期的语言(一般不写)<br> fmt的取值:年[YY/YYYY/YEAR],月[MM/MONTH],日[DD/DAY],时[HH12/HH24],分[MI],秒[SS]<br> 2、字符转日期<br> to_date(str[,fmt[,params]]):str表示日期格式的字符串,fmt表示转换的格式,params表示日期的语言(一般不写),该函数会按照系统默认的格式显示<br> fmt的取值:年[YY/YYYY/YEAR],月[MM/MONTH],日[DD/DAY],时[HH12/HH24],分[MI],秒[SS]<br> 3、数字转字符<br> to_char(number[,fmt]):number表示要转换的数字,fmt表示转换的格式<br> fmt的取值:[9]表示显示数字并忽略前面的0,[0]表示显示数字,位数不足,用0补齐,[.或D]表示显示小数点,[,或G]表示显示千位符,[$]表示美元符,[S]表示加正负号(前后都可以)<br> 4、字符转数字<br> to_number(str[,fmt]):str表示数字格式的字符串,fmt表示转换的格式,可以省略 select to_number('$912,345,64.877','$999,999,99.999') from dual 结果:91234564.877查看全部
-
日期函数: (1)系统时间 sysdate 默认格式DD-MON-RR 日-月-年 (2)日期操作 add_months(date,i)在当前日期加上i个月,i可以是任何整数;如果i是小数,系统会自动截取整数部分;如果是负数就是在当前日期减去i个月。 next_day(date,char)表示指定日期的下周几的日期,例: select next_day(sysdate,'星期一') from dual; 表示的是当前日期的下周一是几年几月几号。这个char表示星期几,可以输入中文也可以输入英文。 last_day(date)返回date所在月的最后一天 months_between(date1,date2)表示两个日期之间相隔的月份,返回值是小数 extract(date from datetime)表示获取指定日期的年或月或日,例: select extract(year from sysdate) from dual;表示返回当前日期的年 select extract(month from sysdate) from dual; select extract(day from sysdate) from dual; 此外还可以这样使用: select extract(hour from timestamp '2015-10-1 17:25:13') from dual;意思是获取时间戳的时。 结果为17查看全部
-
字符函数: (1)大小写转换函数 upper(char) 将小写字母变成大写字母 lower(char)将大写字母变成小写字母 initcap(char)将首字母进行大写转换 例:select upper('abcd'),lower('ABCd'),initcap('aHDX') from dual; 结果为:ABCD abcd AHDX (2)获取子字符串函数 substr(char,[m[,n]]) m表示取子串的开始位置 n表示截取子串的位数 例:select substr('abcde',2,3) ,substr('abcde',2),substr('abcde',-2,1) from dual; 结果为: bcd bcde d 注意:m=0表示从首字母开始截取,n可以省略表示从m的位置截取到字符串末尾; 如果m=0且省略n那么结果仍为源字符串; 如果m为负数表示从字符串的尾部开始截取查看全部
-
四舍五入函数: round(n,[m]) m>0:小数点后m位;m<0:小数点前m位 eg:select round(23.4),round(23.45,1),round(23.45,-1) from dual; 23 23.5 20 取整函数: ceil(n)--取上限 floor(n)--取下限 eg:select ceil(23.45),floor(23.45) from dual; 24 23 绝对值: abs(n)--取绝对值 eg:select abs(23.45),abs(-23),abs(0) from dual; 23.45 23 0 取余数: mod(m,n) m/n 若m,n任何一个值为null,则结果返回null值 eg:select mod(5,2) from dual; 1 select mod(5,null) from dual; (空值) m的n次幂: power(m,n) eg:select power(2,3),power(null,2) from dual; 8 (空值) 平方根: sqrt(m) 16的平方根表示为sqrt(16),结果是4 eg:select sqrt(16)from dual; 4 三角函数: sin(n)、asin(n)--正弦、反正弦 cos(n)、acos(n)--余弦、反余弦 tan(n)、atan(n)--正切、反正切 n 为弧度 eg:select sin(3.124) from dual; .017591746查看全部
-
日期转字符查看全部
-
sadasdad查看全部
-
dasdasasdasd查看全部
-
riqi hanshu查看全部
-
1、函数的作用 方便数据的统计、处理查询结果 2、函数分类 1)内置函数:数值函数、字符函数、日期函数、转换函数 2)自定义函数 3、在查询中使用函数 字母大小写转换、查询时间间隔、四舍五入查看全部
-
在查询中使用字符函数: desc users; //users是已经建好的员工信息表 select substr(cardid,7,8) from users; 在员工信息表查询出员工的生日 select replace(deptno,'01','信息技术') from users; 将部门号01全部替换成信息技术 select mod(age,10) from users; 将员工信息表中的年龄字段与10取余数 select extract(year from regdate) from users; 取得员工入职的年份 select * from users where extract(month from regdate)=5;查询出5月份入职的员工信息查看全部
举报
0/150
提交
取消