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

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 ;

Oracle 1

末段采用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')

 

相关文章