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

Posted pengtan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\')

 

以上是关于Oracle 英文 非标准格式 日期 格式化的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC、Telerik Kendo、jQuery 验证中的非标准日期格式

Oracle 如何将“26-9月 -17 06.46.00.000000000 下午”字符串转换成标准日期格式

日期格式校验

PHP标准日期格式化为中文汉字日期,有那么难么

在 Oracle 的 to_char 中转义非格式字符的最佳方法是啥?

用于格式化 Oracle PL/SQL 代码的标准 Toad 模板?