#oracle #timestamp #oracle12c
#Oracle #временная метка #oracle12c
Вопрос:
У меня есть даты в столбце VARCHAR в таблице с этим форматом.
- «2019-08-13 00:00:00»
И немногие из них в этом формате
- «Ср. 20 февраля 2019 г. 15:00:58 GMT 0100»
Я хочу, чтобы все мои поля были в (2).
У меня не может быть типа даты для этого столбца. Пожалуйста, помогите мне в преобразовании
Комментарии:
1. Привет, добро пожаловать в stack overflow! Попробуйте написать
UPDATE ...
запрос. Мы можем помочь вам, если у вас возникнут конкретные вопросы.
Ответ №1:
Вы говорите, что этот столбец не может быть a date
. Но если вы храните даты (или, в данном случае, временные метки с часовыми поясами), вы действительно, действительно хотите, чтобы этот столбец был правильным типом данных. В противном случае вы будете создавать себе проблемы, когда кто-то вставит строку в неправильном формате.
Предполагая, что все строки длиной 19 находятся в первом формате, все они представляют действительные даты, и вы хотите, чтобы все они заканчивались в часовом поясе GMT 1, что-то вроде
select case when length(column_name) = 19
then to_char( to_date( column_name, 'yyyy-mm-dd hh24:mi:ss' ),
'Dy Mon DD YYYY HH24:MI:SS' ) || ' GMT 0100'
else column_name
end
from your_table