0

0/0/0000 10:23:56 AM在列中有日期。

我已经尝试过TO_CHAR(column_dt,'hh24:mm:ss')and TO_CHAR(column_dt,'hh:mm:ss pm'),但两者都分别返回00:00:00and 00:00:00 00

任何人都可以帮我吗?

4

2 回答 2

2

“日期”0/0/0000 10:23:56 AM不是有效日期(最小日期和月份是 01,年份必须不同于 0)所以我猜该列是 varchar。如果要从该字符串中提取时间,可以使用如下内容:

select SUBSTR('0/0/0000 10:23:56 AM', 10, 8) time,
SUBSTR('0/0/0000 10:23:56 AM', 10, 2) hh,
SUBSTR('0/0/0000 10:23:56 AM', 13, 2) MI,
SUBSTR('0/0/0000 10:23:56 AM', 16, 2) ss
  FROM DUAL
于 2015-09-18T07:38:23.570 回答
0

像这样使用:

SELECT CONVERT(VARCHAR(20), Yourdatecolumn, 114)
于 2015-09-18T06:57:34.610 回答