SQL语句中如何完成某一个字段,某一个范围的替换 50
例如数据库里面如下表姓名日期是否出勤孙阳2019年3月1日N孙阳2019年4月1日Y孙阳2019年5月1日N请问通过什么语句可以达到把孙阳4月份“是否出勤”字段改成N的效...
例如数据库里面如下表
姓名 日期 是否出勤
孙阳 2019年3月1日 N
孙阳 2019年4月1日 Y
孙阳 2019年5月1日 N
请问通过什么语句可以达到把孙阳4月份“是否出勤”字段改成N的效果,注意是批量修改的,4月每天的 展开
姓名 日期 是否出勤
孙阳 2019年3月1日 N
孙阳 2019年4月1日 Y
孙阳 2019年5月1日 N
请问通过什么语句可以达到把孙阳4月份“是否出勤”字段改成N的效果,注意是批量修改的,4月每天的 展开
1个回答
展开全部
可以
如果你的"日期"这个字段是日期类型的, 用函数取一下年月作为where条件的一部分进行update就可以了
如果是字符串类型, 可以用字符串函数(left, right, substring等) 取出年月, 作为where条件进行update
如果你的"日期"这个字段是日期类型的, 用函数取一下年月作为where条件的一部分进行update就可以了
如果是字符串类型, 可以用字符串函数(left, right, substring等) 取出年月, 作为where条件进行update
追问
可否给出具体语句,我不太会
追答
以SQL Server举例
日期类型的, 比如:
UPDATE [表名]
SET [是否出勤]='N'
WHERE DATEDIFF(MONTH, [日期], '2019-04-01')=0
-- 或者
-- WHERE YEAR([日期])=2019 AND MONTH([日期])=4
-- 或者
-- WHERE [日期] BETWEEN '2019-04-01' AND '2019-04-30'
字符串类型的(如果可以的话也可以先用函数转成日器类型), 比如:
WHERE LEFT([日期], 4)='2019' AND SUBSTRING(@v,6,1)='4'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询