本文主要是介绍字符串转换to_char()、to_date()及trunc()的用法;,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、to_char()
1.基本语法
to_char(value,'format') value是待转化的值,'format' 是转化后的 pattern
(1)日期格式转化
select to_char(sysdate,'yyyy') from dual;-------执行结果:2018
select to_char(sysdate,'yyyy-mm-dd') from dual;-----执行结果:2018-06-14
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;-----执行结果:2018-06-14 15:49:02
select to_char(sysdate,'d') from dual;------执行结果:5,当前是本周的第5天(周日是第一天)
select to_char(sysdate,'iw') from dual;-----执行结果:24,当前是本年的第24周
(2)处理数字
select to_char(88877) from dual;------执行结果:88877
select to_char(1234567890,'099999999999999') from dual;------执行结果:000001234567890,系统会自动补全位数
select to_char(12345678,'999,999,999,999') from dual;--------执行结果:12,345,678,系统会自动补全位数
select to_char(1234567890,'999,999,999,999.9999') from dual;-----执行结果:1,234,567,890.0000,系统会自动补全位数
(3)to_char(salary,'$99,99');
select TO_CHAR(123,'$99,999.9') from dual;
(4)用于进制转换:将10进制转换为16进制;
select to_char(4567,'xxxx') from dual;
select to_char(123,'xxx') from dual;
二、to_date()
to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配。
select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual //显示:08-11-07 13:22:42
select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual //显示:2005-12-25 13:25:59
三、trunc()
(1)处理日期
语法格式:TRUNC(date[,fmt])
其中:date 一个日期值;fmt 日期格式。
该日期将按指定的日期格式截取;忽略它则由最近的日期截取。
select trunc(sysdate) from dual;--14-6月 -18,返回当前时间select trunc(sysdate,'yy') from dual;--01-1月 -18,返回当年第一天select trunc(sysdate,'mm') from dual;--01-6月 -18,返回当月的第一天select trunc(sysdate,'d') from dual;--10-6月 -18,返回当前星期的第一天,即星期天select trunc(sysdate,'dd') from dual;--14-6月 -18,返回当前日期,今天是2018-06-14select trunc(sysdate,'iw') from dual;--11-6月 -18,返回当前星期的第一天,即星期一
(2)处理number型数字语法格式:TRUNC(number[,decimals])
其中: number 待做截取处理的数值;decimals 指明需保留小数点后面的位数,可选项,忽略它则截去所有的小数部分。
注意:截取时并不对数据进行四舍五入
select trunc(123.567,2) from dual;--123.56,将小数点右边指定位数后面的截去;select trunc(123.567,-2) from dual;--100,第二个参数可以为负数,表示将小数点左边指定位数后面的部分截去,即均以0记;select trunc(123.567) from dual;--123,默认截去小数点后面的部分;
四、总结to_char、to_date和trunc在日期上的作用
(1)to_char和to_date是日期格式的转换函数,其作用就是将目标日期以我们想要的格式显示出来;
举例说明:以当前日期为例(sydate)
select to_char(sysdate,'yyyy-mm-dd') from dual;
只是将当前日期的格式由‘date类型’转化为‘字符类型’,结果本身没发生变化;
select to_date('2018-06-15','yyyy-mm-dd') from dual;
只是将‘字符类型’转化为‘date类型’,‘结果本身没有发生变化;
(2)trunc是根据目标日期截取我们想要的日期
举例说明:以当前日期为例(sydate)
select trunc(sysdate,'iw') from dual;--11-6月 -18,返回当前星期的第一天,即星期一
根据当前日期计算出本周第一天然后提取显示,显示结果发生变化;
这篇关于字符串转换to_char()、to_date()及trunc()的用法;的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!