注册 登录
编程论坛 SQL Server论坛

请教更新数据的时间

zhaoshi 发布于 2010-07-30 12:08, 640 次点击
表里字段CONSUME-TIME的所有时间 是2010-05-31 00:00:00的时间更新为2010-07-23 00:00:00,只更新前面的日期,不更新后面时间,请问语句是怎么写。
只有本站会员才能查看附件,请 登录


[ 本帖最后由 zhaoshi 于 2010-7-30 12:20 编辑 ]
4 回复
#2
zhaoshi2010-07-30 13:10
没有人帮我回答这个问题吗?
#3
dearwolf41282010-07-30 14:09
你利用dateadd()函数就可以实现它了,如: SELECT  DATEADD(day,53,consume_time) AS OrderPayDate FROM test_biao

或 update test_time set sonsume_time=DATEADD(day,53,consume_time) from test_biao where DATE(consume_time)='2010-5-31'

你查查dateadd()相关的函数就可以自己搞定了
#4
aei1352010-07-30 18:26
update test_time set sonsume_time=DATEADD(day,53,consume_time) from test_biao where convert(varchar(10),consume_time,120)='2010-05-31'
#5
tangyunzhong2010-08-02 09:47
回复 楼主 zhaoshi
从你的描述看,好像是日期是固定的,时间就是要表里面的原值对吧,这样的话就用下面的语句:
select '2010-07-23'+substring((CONVERT (char(20), consume_time , 20)),11,9) from 表名

要是合并在一起的两部分来自两个字段的就如下形式写:
select substring((convert(char(20),字段名,20)),1,10)+substring((CONVERT (char(20), consume_time , 20)),11,9) from 表名
例如:
select substring((convert(char(20),getdate(),20)),1,10)+substring((CONVERT (char(20), consume_time , 20)),11,9) from 表名

[ 本帖最后由 tangyunzhong 于 2010-8-2 19:41 编辑 ]
1