求SQL更新语句,修改的字段是日期时间型,只需要修改其中的月份。
例如:“2011-01-0111:37:37”修改为“2011-09-0111:37:37”即可。只修改月份,号数不改,每条记录的号数可能不一样。急用,谢谢!在线等,OK...
例如:“2011-01-01 11:37:37” 修改为 “2011-09-01 11:37:37” 即可。只修改月份,号数不改,每条记录的号数可能不一样。急用,谢谢!
在线等,OK即采纳。 展开
在线等,OK即采纳。 展开
展开全部
update tablename set datavalue = convert(nvarchar,year(datavalue))+'-'+'要修改的月份' + right(convert(nvarchar(19),datavalue ,120),12) where 条件
datavalue 是你的日期字段
datavalue 是你的日期字段
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CREATE TABLE #test (
test datetime
)
GO
INSERT INTO #test VALUES('2011-01-01 11:37:37')
GO
SELECT
CONVERT( datetime,
LEFT(CONVERT(varchar, test, 120), 5)
+ '09'
+ RIGHT(CONVERT(varchar, test, 120), 12)
, 120) as result
FROM
#test
result
-----------------------
2011-09-01 11:37:37.000
(1 行受影响)
test datetime
)
GO
INSERT INTO #test VALUES('2011-01-01 11:37:37')
GO
SELECT
CONVERT( datetime,
LEFT(CONVERT(varchar, test, 120), 5)
+ '09'
+ RIGHT(CONVERT(varchar, test, 120), 12)
, 120) as result
FROM
#test
result
-----------------------
2011-09-01 11:37:37.000
(1 行受影响)
更多追问追答
追问
可否用update语句,修改的比较简单,一个是月份加9个月,即可1月变9月。另一种是12月变8月,即减4个月。
追答
直接指定的 9 月的语句。
UPDATE
#test
SET
test = CONVERT( datetime,
LEFT(CONVERT(varchar, test, 120), 5)
+ '09'
+ RIGHT(CONVERT(varchar, test, 120), 12)
, 120)
月份 加 9个月的语句
UPDATE
#test
SET
test = DATEADD (mm, 9 , test);
月份 减少 4个月的
UPDATE
#test
SET
test = DATEADD (mm, -4, test);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询