oracle SQL语句,日期格式转换

需要讲语句执行后的日期间隔符 是 ‘-’ 不需要/ ,请问如何转换select to_date(substr('2016-11-04 15:56:00', 1, 10), 'yyyy-mm-dd') from dual

TO_DATE格式(以时间:2007-11-02 13:45:25为例)

1、日期和字符转换函数用法(to_date,to_char)

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   //日期转化为字符串 

select to_char(sysdate,'yyyy')  as nowYear   from dual;   //获取时间的年 

select to_char(sysdate,'mm')    as nowMonth  from dual;   //获取时间的月 

select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日 

select to_char(sysdate,'hh24')  as nowHour   from dual;   //获取时间的时 

select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分 

select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

2、字符串和时间互转

select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual

select to_char( to_date(222,'J'),'Jsp') from dual //显示Two Hundred Twenty-Two   

扩展资料

date 转换为字符串:

to_char(日期,”转换格式” ) 即把给定的日期按照“转换格式”转换。

转换的格式:

表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年。

表示month的:mm 用2位数字表示月;mon 用简写形式 比如11月或者nov ;month 用全称 比如11月或者november。

表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 简写 比如星期五或者fri;day当周第几天全写。比如星期五或者friday。

表示hour的:hh 2位数表示小时 12进制; hh24 2位数表示小时 24小时。

表示minute的:mi 2位数表示分钟。

表示second的:ss 2位数表示秒60进制。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-28
select to_char(to_date(substr('2016-11-04 15:56:00', 1, 10), 'yyyy-mm-dd'), 'yyyy-mm-dd') from dual;
上面日期表示时,使用“/”是这个工具对日期类型的表示。
感觉开始字符串的格式就是带“-”的,如果只是把后面的时间去掉的话,直接用截位就行。
select substr('2016-11-04 15:56:00', 1, 10) from dual;本回答被提问者和网友采纳
相似回答