to_date 函数 AM PM 格式
Posted
技术标签:
【中文标题】to_date 函数 AM PM 格式【英文标题】:to_date function AM PM Format 【发布时间】:2013-06-06 01:58:08 【问题描述】:使用 perl 从 csv 文件读取并插入到 oracle 表中。在特定的 csv 字段中,日期可以是 AM 或 PM 格式。因此,当我构造 to_date 时,我使用的是 AM / PM,但它给了我格式代码错误。 to_date 中需要提供什么格式代码才能接受 AM/PM 字段。
insert into invoices(invoice_id,invoice_date) values (2,to_date('2010-Aug-09 12:00:01 PM' , 'yyyy-Mon-dd HH:MI:SS AM / PM'));
【问题讨论】:
正如yyyy
代表“任何四位数字的年份”和MI
代表“任何两位数字的月份”一样,AM
代表“上午或下午”。您不需要在格式字符串中提供这两种可能性。
MI 是分钟,而不是月
Oracle to_date with p.m./a.m的可能重复
【参考方案1】:
您可以指定 AM or PM。试试
SELECT to_date('2010-Aug-09 02:00:01 PM' , 'yyyy-Mon-dd HH:MI:SS AM') "date"
FROM dual;
SELECT to_date('2010-Aug-09 03:00:01 AM' , 'yyyy-Mon-dd HH:MI:SS PM') "date"
FROM dual;
输出:
| DATE |
---------------------------------
| August, 09 2010 14:00:01+0000 |
| DATE |
---------------------------------
| August, 09 2010 03:00:01+0000 |
这里SQLFiddle演示
【讨论】:
以上是关于to_date 函数 AM PM 格式的主要内容,如果未能解决你的问题,请参考以下文章