У меня есть дата как 0/0/0000 10:23:56 AM
в столбце.
Я пробовал с TO_CHAR(column_dt,'hh24:mm:ss')
и TO_CHAR(column_dt,'hh:mm:ss pm')
, но оба возвращают 00:00:00
и 00:00:00 00
соответственно.
Может ли кто-нибудь помочь мне?
У меня есть дата как 0/0/0000 10:23:56 AM
в столбце.
Я пробовал с TO_CHAR(column_dt,'hh24:mm:ss')
и TO_CHAR(column_dt,'hh:mm:ss pm')
, но оба возвращают 00:00:00
и 00:00:00 00
соответственно.
Может ли кто-нибудь помочь мне?
«Дата» 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
SUBSTR
для извлечения того, что вам нужно, верно?
- person Cristian_I; 18.09.2015
Используйте так:
SELECT CONVERT(VARCHAR(20), Yourdatecolumn, 114)
0/0/0000
— недопустимая дата, и Oracle не позволит вам ее сохранить. У тебя не может быть такой даты. - person a_horse_with_no_name   schedule 18.09.2015DATE
, он не может иметь значение0/0/0000
. - person a_horse_with_no_name   schedule 18.09.2015