怎么修改sql数据库中考勤表中的时间

如:useridchecktime52010-10-1116:31:1262010-10-1119:14:43..............我就是想把checktime列中... 如: userid checktime
5 2010-10-11 16:31:12
6 2010-10-11 19:14:43
... ....
... ....

我就是想把checktime列中超过19点我都改为17点...如加班时间长的2010-10-11 19:14:43 中的19点改为17点 (2010-10-11 17:14:43) 因为要改动的很多,所以请教高手指点帮助. 希望用sql 语句直接修改!
展开
 我来答
fallenbird
2016-01-03 · 知道合伙人互联网行家
fallenbird
知道合伙人互联网行家
采纳数:21 获赞数:236
毕业于南开大学,在互联网行业从业10年。目前在阿里巴巴担任架构师/技术专家一职。

向TA提问 私信TA
展开全部
假设你的表名为

第一步: 打开数据库,并连接数据库
第二步: 打开你的表,假设你的表名为 tb_records
第三步: 编写语句,最简单的应该是
update tb_recordsset checktime=dateadd(hh,17-datepart(hh,checktime),checktime) where datepart(hh,checktime)>18
第四步:执行语句
徐金柱第一
2010-10-28 · TA获得超过333个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:183万
展开全部
update table set checktime=dateadd(hh,17-datepart(hh,checktime),checktime) where datepart(hh,checktime)>18

亲自在sql server 2005中测试通过!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vachelcai
2010-10-28 · 超过98用户采纳过TA的回答
知道小有建树答主
回答量:285
采纳率:66%
帮助的人:140万
展开全部
update XXtable set checktime=DATEPART(hh,17-DATEPART(hh,getdate()),checktime) where DATEPART(hh,getdate())>19
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锋利的猫
2010-10-28 · TA获得超过868个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:372万
展开全部
update table set checktime='2010-10-11 17:00:00'
where checktime > '2010-10-10 19:00:00'

如果要自动匹配日期的话 我还要查阅相关函数后再来修改

自动匹配日期 SQL2005下测试成功

update table_1 set checktime= convert(varchar(10),checktime,120) + ' 17:00:00'
where checktime > convert(varchar(10),checktime,120) + ' 19:00:00'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shutao917
2010-10-28 · TA获得超过1213个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:3141万
展开全部
update tb
set checktime=convert(varchar(10),checktime,120)+'17'+stuff(convert(varchar(19),checktime,120),1,13,'')
where datepart(hh,checktime)>=19
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牧之卉0j1
2010-10-28 · TA获得超过1151个赞
知道大有可为答主
回答量:1689
采纳率:0%
帮助的人:1746万
展开全部
update tb
set checktime=dateadd(hh,-2,checktime)
where datepart(hh,checktime)=19
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式