如何从' 0/0/0000 10:23:56 AM'?

时间:2015-09-18 06:50:53

标签: sql oracle date to-date to-char

我在列中的日期为0/0/0000 10:23:56 AM

我尝试使用TO_CHAR(column_dt,'hh24:mm:ss')TO_CHAR(column_dt,'hh:mm:ss pm'),但两者分别返回00:00:0000:00:00 00

任何人都可以帮帮我吗?

2 个答案:

答案 0 :(得分:2)

" date" 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

答案 1 :(得分:0)

像这样使用:

SELECT CONVERT(VARCHAR(20), Yourdatecolumn, 114)