Oracle 英文 非标准格式 日期 格式化

多年来以处理同张表的时候,需要依照日期排序,日期字段中日期的格式来半点栽。

格式一:07-Aug-2015

格式二:10/28/16

日子转化及格式化sql语句:

select to_date('07-Aug-2015','dd-mm-yyyy','NLS_DATE_LANGUAGE = english') 英文日期,
to_date('10/28/16','mm/dd/yy') 日期,
to_char(to_date('07-Aug-2015','dd-mm-yyyy','NLS_DATE_LANGUAGE = english'),'yyyy-mm-dd') 英文日期格式化,
to_char(to_date('10/28/16','mm/dd/yy'),'yyyy-mm-dd') 日期格式化
from dual ;

终极动用instr判断包含-还是/使用不同之转会

to_char((case when instr(pdate,'-')>0 then to_date(pdate, 'dd-mm-yyyy', 'NLS_DATE_LANGUAGE = english')  
    when instr(pdate,'/')>0 then  to_date(pdate,'mm/dd/yy') end),'yyyy-mm-dd')

 

相关文章