s yu Ответов: 2

Ошибка: вставка / обновление значений даты в Oracle DB


Ниже приведен фрагмент кода (упрощенный) для обновления таблицы со значением DataTime, где поле:
CREATED_DATE
является ли дата в его типе данных
Update  myTable SET CREATED_DATE=5/8/2017 9:17:07 AM WHERE E_ID = 9270002

Я попробовал это сделать в SQL Developer, но безуспешно. Что не так в моем коде? Спасибо.

Что я уже пробовал:

Пробовал на SQL Developer, а также in .Сетевая отладка

2 Ответов

Рейтинг:
6

CHill60

Попробуй

Update myTable SET CREATED_DATE='2017-05-08 09:17:07' WHERE E_ID=9270002
Обратите внимание, что эта дата не может быть истолкована иначе, как 8 мая 2017 года. Я также думаю, что если вы собираетесь использовать " АМ " во времени, то не должно быть никакого пространства. Лично я считаю, что 24-часовой формат лучше всего подходит.

Для получения дополнительной информации см. Понимание формата даты Oracle SQL стало простым[^]

[Обновление]OP сообщает об ошибке.
Попробуй '2017-MAY-08 09:17:07" вместо. Или попробовать
TO_DATE(
    'May 8, 2017, 09:17 A.M.',
    'Month dd, YYYY, HH:MI A.M.',
     'NLS_DATE_LANGUAGE = American')
Ссылка:НА СЕГОДНЯШНИЙ ДЕНЬ[^]
В противном случае посмотрите на ссылку, которую я предоставил для получения дополнительных идей


CHill60

Я обновил свое решение с помощью нескольких альтернатив

Рейтинг:
19

ZurdoDev

Вам нужно поставить значения в кавычки, иначе он подумает, что вы пытаетесь разделить числа.

SET CREATED_DATE='5/8/2017 9:17:07 AM'


Maciej Los

5ед!

s yu

Благодарю. Но нужно сделать вот так, как показано ниже:
SET CREATED_DATE='8-MAY-2017 9:17:07 AM'