oracle中,日期转换函数有很多,常用命令如下:
to_char()命令将时间戳转换为用户规定的日期格式,如:
SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') FROM DUAL;
语法:TO_CHAR(X [,format])
说明:将X按format格式转换成字符串。X可以是日期或者数字或时间戳,format是一个规定了X采用何种格式转换的格式字符串
to_date()命令可以将一个日期格式的字符串转换成date类型数据,如:
SELECT TO_DATE('2014-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') FROM DUAL;
语法:TO_DATE(C [,format])
说明:将符合format指定的特定日期格式的字符串C转换成DATE类型的数据
TO_TIMESTAMP()函数可以将一个时间格式的字符串转换成时间戳
SELECT TO_TIMESTAMP('2014-06-20 12:11:11','YYYY-MM-DD HH24:MI:SS') from dual;
语法:TO_TIMESTAMP(C [,format])
说明:将字符串C转换为一个时间戳数据类型
---to_char()命令可以将时间戳转换成字符串:
select to_char( TO_TIMESTAMP('2014-06-20 12:11:11','YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') from dual;
当需要进行两个日期的比较时,不需要比较时间,可采用trunc()命令来截取日期
SQL> select to_char( trunc(sysdate), 'YYYY-MM-DD HH24:MI:SS') from dual;
SQL> select to_char( sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
比较两句的运行结果,可以看到差别。