怎么在SQL里逐行修改数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在SQL里逐行修改数据相关的知识,希望对你有一定的参考价值。
我有这样一列数据, ID Time
1
2
3
4 01:01:09
5
6
7
8 01:01:13
根据非空数据,对Time列进行空缺值填充,每相邻的两个记录相差一秒。根据第四个记录,第一个记录应为01:01:06,第二个记录为01:01:07,第三个记录为01:01:08。
哪位知道对这列的空缺值填充怎么实现?谢谢!
update 表
set time=dateadd(mi,datediff(mi,min(time),max(time))*1.0/((select id from 表 where time=(select max(time) from 表))-(select id from 表 where time=(select min(time) from 表))),max(time))
where time is null 参考技术A --按条件,实质是从第一条记录01:01:06,接着的数据是第一条记录的时间加id那么多秒
--不知道time是什么类型,以下语句假设是varchar类型,由于函数DATEADD需要完整日期格式,为了拼凑成完整的日期格式,所以随便加了个日期2010-1-1上去,但并不影响结果
update 表
set time = convert(varchar(8),DATEADD(second,id,'2010-1-1 01:01:06'),114)
where time isnull 参考技术B 我假设你的表是test, 表中有两个column,id 和time
BEGIN
FOR i IN 6..13
LOOP
UPDATE test SET time='01:01:'||To_Char(i,'00') WHERE id =i-5;
END LOOP;
END; 参考技术C 写个循环更新吧。
SQL server怎么在更新数据的时候让字段自动加1,
比如用户登录 登录成功后自动将登录次数加1
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、然后在该界面中,显示要更新的数据表myUserNum 。
3、之后在该界面中,点击左上角“新建查询”选项。
4、接着在该界面中,输入SQL语句“update myUserNum set userNum = userNum +1”。
5、然后在该界面中,显示修改成功。
6、最后在该界面中,显示更新后的数据表myUserNum。
参考技术A 判断用户名和密码后,修改用户表。update [用户表] set loginCount = loginCount+1 where userID='用户名'本回答被提问者采纳
以上是关于怎么在SQL里逐行修改数据的主要内容,如果未能解决你的问题,请参考以下文章