Это:
select to_char(timestamp '2014-09-04 23:03:30 GMT','DD-MON-YY HH:MI:SS')
from dual
преобразует временную метку, представленную 'Чт 4 сентября 23:03:30 GMT 2014'
в формате «DD-MON-YY HH: MI: SS» (я думаю, вы имели в виду MON, а не MMM)
Но входной буквальным должен быть изменен на '2014-09-04 23:03:30 GMT' (как показано)
Fiddle:http://sqlfiddle.com/#!4/d41d8/34741/0
Выход:
04-SEP-14 11:03:30
Формат, который вы помещаете в свой список выбора, содержит только секунды, в то время как вы указываете, что вы храните дробные секунды в своей таблице (вероятно, поле временной метки), чтобы соответствовать этому формату использовать FF, а не SS. Кроме того, вы указываете, что используете формат HH12, а не HH (12 часов против 24 часов). Для тех, кого вы хотели бы другой формат, чем вы в настоящее время пытается преобразовать:
select to_char(timestamp '2014-09-04 23:03:30 GMT','DD-MON-YY HH12:MI:FF AM')
from dual
Fiddle:http://sqlfiddle.com/#!4/d41d8/34744/0
Обратите внимание, что если время были во второй половине дня он будет показывать PM, а не утра, несмотря на то, что вы видите AM в SQL (см http://www.techonthenet.com/oracle/functions/to_char.php)
Выход:
04-SEP-14 11:03:000000000 PM
Зачем вам нужно, чтобы этот литерал был частью выражения select? –
Затем следует изменить дату в формате GMT вручную и использовать ее в моем запросе? – Deepak
Что вы пытаетесь сделать? Наверное, я просто не понимаю вопроса. –