Как извлечь только время из «0/0/0000 10:23:56»?

У меня есть дата как 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 соответственно.

Может ли кто-нибудь помочь мне?


person Soumya    schedule 18.09.2015    source источник
comment
Следующая ссылка поможет вам: заголовок stackoverflow.com/questions/17104414/   -  person Parth Patel    schedule 18.09.2015
comment
Какой тип данных имеет столбец column_dt, это DATE или VARCHAR2?   -  person Ollie    schedule 18.09.2015
comment
0/0/0000 — недопустимая дата, и Oracle не позволит вам ее сохранить. У тебя не может быть такой даты.   -  person a_horse_with_no_name    schedule 18.09.2015
comment
У меня есть эта дата... Тип данных - DATE   -  person Soumya    schedule 18.09.2015
comment
Если столбец определен как DATE, он не может иметь значение 0/0/0000.   -  person a_horse_with_no_name    schedule 18.09.2015


Ответы (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
person Cristian_I    schedule 18.09.2015
comment
Тип данных этого столбца — DATE. И у меня есть эта запись. - person Soumya; 18.09.2015
comment
Хорошо, но вы все еще можете использовать SUBSTR для извлечения того, что вам нужно, верно? - person Cristian_I; 18.09.2015

Используйте так:

SELECT CONVERT(VARCHAR(20), Yourdatecolumn, 114)
person Jayanti Lal    schedule 18.09.2015
comment
Добавьте свой столбец даты.. хорошо, позвольте мне использовать это более простое использование SELECT CONVERT(VARCHAR(20), GETDATE(), 114) попробуйте это сейчас. - person Jayanti Lal; 18.09.2015
comment
Это недопустимо для Oracle - person a_horse_with_no_name; 18.09.2015
comment
Я добавил столбец. Только после этого показывает то же самое. (это оракул БД)... для Джаянти - person Soumya; 18.09.2015