Oracle to_date 与 p.m./a.m

标签 oracle to-date

我需要在 oracle 中将字符串转换为日期。

字符串的格式是这样的:

'08/11/1999 05:45:00 p.m.'

但最后一个位置可以改变 p.m 或 a.m。 我试着做一些类似的事情:

to_date('08/11/1999 05:45:00 p.m.', 'dd/mm/yyyy hh:mi:ss a.m./p.m.')

to_date('08/11/1999 05:45:00 p.m.', 'dd/mm/yyyy hh:mi:ss am/pm')

但返回错误 ORA-01855 : AM/A.M.或下午/下午需要...有什么想法吗?

最佳答案

试试这个:

to_date
  ( '08/11/1999 05:45:00 p.m.'
  , 'dd/mm/yyyy hh:mi:ss a.m.'
  , 'nls_date_language=american'
  )

似乎是“上午”和“下午”而不是 "am"和 "pm"需要将 nls_date_language 设置为 "american"。

关于Oracle to_date 与 p.m./a.m,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27269903/

相关文章:

sql - 如何使用 TOAD、oracle 从表创建插入脚本?

PostgreSQL:在同一字段/框中插入日期和时间?

sql - COUNT 一个表的不同列中的值 SQL

sql - oracle数据库中的分布式事务锁

sql - 将已排序的加载文件加载到新表中时,是否需要 CLUSTERED INDEX?

c# - Oracle 自定义类向导无法从 Oracle 用户定义的数据类型生成自定义 c# 类

Oracle 根据 to_date(literal) 的格式使用或忽略索引列

sql - 跳过 Oracle TO_DATE 函数中的字符

sql - postgresql 中的 to_date 函数如何工作?