gpt4 book ai didi

sql - 更新 SQL Server 中的所有日期列 -1 天

转载 作者:太空狗 更新时间:2023-10-30 01:54:11 25 4
gpt4 key购买 nike

我想更新我的数据库 (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))

我在数据库中的日期是这样的:

enter image description here

有没有办法用相同的日期更新所有日期列 - 1 天?

例如:如果我们有2019-12-20,将其更新为2019-12-19

例如,如果我想在 PHP 中执行此操作,我将遍历此查询并获取所有日期。在我这样删除一天之后:

date('m/d/Y', strtotime($date. ' - 1 days');

并创建一个查询以根据 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 )

DATEADD 函数有 3 个参数:

  1. 间隔(日、月、年..)
  2. increment(如果为负值则添加或删除的值)
  3. 表达式(日期时间类型)

参见 DATEADD documentation

关于sql - 更新 SQL Server 中的所有日期列 -1 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49411498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com