首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

批改数据的日期语法

2013-08-10 
修改数据的日期语法表 table 2列id(数字型),indate(日期型)数据如下12013-08-08 12:00:0022013-08-08 11:0

修改数据的日期语法
表 table 2列  id(数字型),indate(日期型)
数据如下

1  2013-08-08 12:00:00
2  2013-08-08 11:00:00

想把 2013-08-08 改成2013-09-09
也就是要改变日期 但是不改变时间 得到如下结果
1  2013-08-09 12:00:00
2  2013-08-09 11:00:00


请教这个sql语法怎么写?谢谢
[解决办法]

CREATE TABLE #temp (id INT, dt DATETIME)
INSERT #temp SELECT 1, '2013-08-08 12:00:00' UNION ALL SELECT 1, '2013-08-08 11:00:00'

UPDATE #temp
SET dt = DATEADD(DAY, 1, DT)

SELECT * FROM #temp
/*
iddt
12013-08-09 12:00:00.000
12013-08-09 11:00:00.000
*/

[解决办法]
引用:
谢谢楼上的高手 能否不用 DATEADD 我想直接指定日期呢?

CREATE TABLE #temp (id INT, dt DATETIME)
INSERT #temp SELECT 1, '2013-08-08 12:00:00' UNION ALL SELECT 1, '2013-08-08 11:00:00'

DECLARE @YourDate DATETIME
SET @YourDate = '2013-10-1'--这个日期随便指定

UPDATE #temp
SET dt = DATEADD(DAY, DATEDIFF(DAY, DT, @YourDate), DT)
 
SELECT * FROM #temp
/*
iddt
12013-10-01 12:00:00.000
12013-10-01 11:00:00.000
*/

热点排行