to_date()与to_char()在oracle数据库中使用也是挺广泛的,下面来讲述一下to_date函数与to_char函数的区别。
1:to_date("要转换的时间字符串","转换的格式"):就是要将时间字符串以右边的时间正则表达式来转换成Date类型,通常用于原生语句的查询,插入等,如:
select * from student where birthday between and to_date('2018/1/3 00:00:01','yyyy/mm/dd,hh24:mi:ss') and to_date('2018/3/8 23:59:59','yyyy/mm/dd,hh24:mi:ss')
如上查询的就是student学生表中这一段时间过生日的人,“yyyy/mm/dd,hh24:mi:ss”表达式要与“2018/1/3 00:00:01”时间字符串一致,它就会将时间字符串转换为Date类型,因为student表中的birthday字段定义的是Date类型的,如果不转换,查询的时候就会报“ORA-01861:文字与格式字符串不匹配”错误
2:to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换成字符串类型,使用很简单,如下所示:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual //显示:2018-11-07 13:22:42
sysdate变量是oracle自带的,上面就会将系统date类型转换为时间字符串类型。