2015-06-10 3 views
0

Я хочу, чтобы мой хранимую процедуру, чтобы знать, как преобразовать строку, которая находится в форматеСтрока преобразования времени

MM-DD-YYYY (06-23-2008) to the TIMESTAMP(6) format 

Формат TIMESTAMP(6) выглядит следующим образом:

03-MAY-15 09.02.44.000000000 PM 

потому, что данные в таблице хранится как timestamp(6), и я хочу использовать строку для выбора или изменения соответствующих данных.

Поэтому в основном выше дата превратится в

23-JUNE-08 00.00.00.000000000 PM 

, а затем я петля корыта до конца дня, чтобы найти соответствующую дату

я очень новичок в SQL поэтому никаких указаний/советы чрезвычайно ценны

Спасибо!

ответ

1

TIMESTAMP(6) не имеет строкового формата самостоятельно. Это всего лишь временный тип данных, который не имеет никакой информации о форматировании, только информация о дате и времени.

Чтобы получить TIMESTAMP(6) значение из отформатированной строки, вы можете использовать функцию TO_TIMESTAMP, которая будет выглядеть примерно так:

select to_timestamp('06-23-2008', 'MM-DD-YYYY') from dual 

После того, как у вас есть значение TIMESTAMP(6), то вы можете выбрать, чтобы преобразовать его в строку и форматировать ее любым способом, используя функцию TO_CHAR.

Например:

select to_char(to_timestamp('06-23-2008', 'MM-DD-YYYY'), 'YYYY-MM-DD HH24:MI:SS') from dual 

... Вернет:

2008-06-23 00:00:00 

Я надеюсь, что это помогает.

+0

wow thats много информации, позвольте мне попробовать это, и у меня будет больше вопросов для вас точно – PYA

+0

также, спасибо тонну! – PYA

+0

Мне было интересно, есть ли способ манипулировать 2008-06-23 00:00:00 стать 23-ИЮНЬ-08 00.00.00.000000000 PM? – PYA

Смежные вопросы