Mar*_*ria 4 sql database sql-server datetime date
我想更新数据库(SQL Server Express)中所有特定ID的日期。
我正在显示我想要的ID。
SELECT TOP (1000) ID, Dates
FROM tbl_table
WHERE (id IN (29695, 29700, 29701, 29702, 29703, 29704, 29705, 29706, 29707, 29708, 29709, 29710, 29711, 29712, 29713, 29714, 29715))
Run Code Online (Sandbox Code Playgroud)
并且我在数据库中的日期是这样的:
有什么办法可以用相同的日期-1天来更新所有日期列?
例如:如果有2019-12-20,将其更新为2019-12-19?
例如,如果要在PHP中执行此操作,则将遍历此查询并获取所有所有日期。在我删除这样的一天后:
date('m/d/Y', strtotime($date. ' - 1 days');
Run Code Online (Sandbox Code Playgroud)
并创建一个查询来更新基于id的所有列。我只是想避免这种情况。有没有执行此操作的SQL命令?
谢谢
以下请求将通过在每个日期添加-1天来更新所需的行:
UPDATE tbl_table
SET dates = Dateadd(day, -1, dates)
WHERE id IN ( 29695, 29700, 29701, 29702,
29703, 29704, 29705, 29706,
29707, 29708, 29709, 29710,
29711, 29712, 29713, 29714, 29715 )
Run Code Online (Sandbox Code Playgroud)
DATEADD 函数采用3个参数:
interval(日,月,年..)increment(该值以添加或删除,如果负)expression(夹心是日期时间类型)请参阅DATEADD文档