У меня есть текстовый столбец в mysql, данные которого представляют дату и время формат такой: 2018-03-06 15:18:17 pm
Иногда в этом столбце вместо даты отображается слово «НЕТ».
Мне нужно удалить 2 часа из всех строк в таблице.
был бы счастлив за пример кода.
имя таблицы: r_238 имя столбца: Ответ
Спасибо всем, кто ответит.
@UlrichEckhardt. . . Было бы очень грустно, если бы это было домашнее задание. Студенты не должны знать, что значения даты / времени когда-либо хранятся в базах данных в виде строк.
Я не студент и не программист mysql, однако поискал в Интернете и не нашел ответа на этот вопрос






Вам повезло. MySQL распознает этот формат как действительный datetime, поэтому вы можете просто преобразовать столбец в datetime. Остальное просто:
update r_238
set answer = nullif (answer, 'NO');
alter table r_238 modify column answer datetime;
update r_238
set answer = answer - interval 2 hour;
В будущем используйте для столбцов подходящие типы. Значения datetime следует хранить как datetime, а не как строку.
# 1054 - Неизвестный столбец columnAnswer в r_238
@ ברקרוזנפלד. . . В этом ответе нет идентификатора columnAnswer. Вы можете удалить ключевое слово column из alter table, это необязательно.
Я редактировал свои вопросы, так как получил эту ошибку. Неверное значение даты и времени: «НЕТ» для столбца «ответ» в строке 1
@ ברקרוזנפלד. . . Тогда ваше исходное утверждение неверно, и столбец не в указанном вами формате. Я бы посоветовал вам подробнее изучить свою таблицу, потому что ответ на заданный вами вопрос вам не поможет.
если в столбце нет даты, будет отображаться слово «НЕТ», а не более сложные вещи
@ ברקרוזנפלד. . . Для этого следует использовать NULL.
Да, я понял, что следует использовать Null, но это не так ...
получил эту ошибку: # 1292 - Неверное значение даты и времени: '2018-03-06 03:44:52 pm' для столбца 'answer' в строке 517
@ ברקרוזנפלד. . . Это должно быть хорошо. Вот скрипт SQL: sqlfiddle.com/#!9/9eecb/20259. Возможно, в строковом значении есть скрытые или нераспознанные символы. В любом случае, начинаете ли вы понимать, почему вы хотите использовать правильные типы в базе данных? Необходимость управлять значениями, которые являются строками, действительно вызывает боль.
Извините, но никто не будет делать вашу домашнюю работу, если вы сначала не приложите немного усилий. Эта работа начинается с четкого примера и описания того, что вы пробовали до сих пор.