Update изменение даты - MySQL
Формулировка задачи:
Таблица имеет поле типа datatime
Как надо составить update запрос чтоб уменьшить значение этого поля в каждой записи на зоданное время скажем 20 минут или 1 час 23 минуты??
Решение задачи: «Update изменение даты»
textual
Листинг программы
Update Table set Table.col = dateadd(hh,-1,(dateadd(mi,-23,Table.col)))
Объяснение кода листинга программы
Table- название таблицы, в которой выполняется операция обновленияcol- название столбца, в котором выполняется операция обновленияdateadd(hh,-1,(dateadd(mi,-23,Table.col)))- функция для обновления значения столбцаcolпутем изменения датыdateadd(hh,-1,(dateadd(mi,-23,Table.col)))- внутри функцииdateaddиспользуются параметрыhhиmiдля указания количества часов и минут, которые нужно добавить или отнять от даты в столбцеcol(dateadd(hh,-1,(dateadd(mi,-23,Table.col)))- внутри скобок выполняется операцияdateadd(mi,-23,Table.col), которая отнимает 23 минуты от даты в столбцеcoldateadd(hh,-1,(dateadd(mi,-23,Table.col)))- после этого результат операцииdateadd(mi,-23,Table.col)используется в функцииdateadd(hh,-1, чтобы отнять 1 час от полученного значенияTable.col- исходное значение столбцаcol, которое будет изменено
- В результате выполнения операции обновления, значение столбца
colбудет изменено на новую дату, полученную после отнимания 23 минут и 1 часа от исходной даты