sql - 如何使用 SQL Server 更新日期而不更改时间?

标签 sql sql-server sql-server-2005 datetime

我的 Mytable 中有一个名为 StockDate 的列,其数据类型为 DateTime。

所以我的表包含如下记录

    SID                StockDate
   -----              ------------
     1                 2011-10-02 09:44:41.170
     2                 2011-10-02 09:48:23.234

这里我只想将 StockDate 的日期更新为“2011-09-30”。但时间应该和现在一样。这个怎么做?请我需要您的所有建议。

最佳答案

计算出一整天的差异并减去...

UPDATE
   MyTable
SET
   StockDate = DATEADD(day, DATEDIFF(day, StockDate, '20110930'), StockDate)
WHERE
   ...

请注意 SQL Server 中 yyyymmdd 的使用。

关于sql - 如何使用 SQL Server 更新日期而不更改时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631000/

相关文章:

sql - 避免重复 SQL 代码?

mysql - 使用 SQL/Access 创建类似表数据透视的输出

sql-server - SSMS 片段和快捷方式

sql - SQL死锁问题

sql - 将周日期部分编号转换为周内的日期(...的一周)

sql - 在 Google 的 Cloud Spanner 中进行全文搜索

javascript - fullcalendar 不加载事件

.net - 生产服务器上的数据库连接错误

php - 使用 Microsoft Drivers for PHP for SQL Server 在 Ubuntu 16.04 上的 PHP 7.2 中连接到 SQL Server,在浏览器中工作,但在命令行中失败

sql-server-2005 - 如何在 Windows 8 中安装 SQL Server 2005 Express