SQL Server中Update的用法
2009-05-12 20:36:35来源:未知 阅读 ()
在表中有两个字段:id_no (varchar) , in_date (datetime) ,把in_date相同的记录的in_date依次累加1秒, 使in_date没有相同的记录。
以下为原始的数据:
id_no in_date
5791 2003-9-1 14:42:02
5792 2003-9-1 14:42:02
5794 2003-9-1 14:42:02
5795 2003-9-1 14:42:03
5796 2003-9-1 14:42:03
5797 2003-9-1 14:42:03
5831 2003-9-1 14:42:04
5832 2003-9-1 14:42:14
5833 2003-9-1 14:42:14
结果为:
id_no in_date
5791 2003-9-1 14:42:02
5792 2003-9-1 14:42:03
5794 2003-9-1 14:42:04
5795 2003-9-1 14:42:05
5796 2003-9-1 14:42:06
5797 2003-9-1 14:42:07
5831 2003-9-1 14:42:08
5832 2003-9-1 14:42:14
5833 2003-9-1 14:42:15
处理的方法:
--建立测试环境
create table a(id_no varchar(8),in_date datetime)
go
insert into a select \'5791\',\'2003-9-1 14:42:02\'
union all select \'5792\',\'2003-9-1 14:42:02\'
union all select \'5794\',\'2003-9-1 14:42:02\'
union all select \'5795\',\'2003-9-1 14:42:03\'
union all select \'5796\',\'2003-9-1 14:42:03\'
union all select \'5797\',\'2003-9-1 14:42:03\'
union all select \'5831\',\'2003-9-1 14:42:04\'
union all select \'5832\',\'2003-9-1 14:42:04\'
union all select \'5833\',\'2003-9-1 14:42:04\'
union all select \'5734\',\'2003-9-1 14:42:02\'
union all select \'6792\',\'2003-9-1 14:42:22\'
union all select \'6794\',\'2003-9-1 14:42:22\'
union all select \'6795\',\'2003-9-1 14:42:23\'
union all select \'6796\',\'2003-9-1 14:42:23\'
union all select \'6797\',\'2003-9-1 14:42:23\'
union all select \'6831\',\'2003-9-1 14:42:34\'
union all select \'6832\',\'2003-9-1 14:42:34\'
union all select \'6833\',\'2003-9-1 14:42:54\'
union all select \'6734\',\'2003-9-1 14:42:22\'
go
--生成临时表,按照in_date排序
select * into # from a order by in_date
--相同的时间,加一秒。加完了不带重复的
declare @date1 datetime,@date2 datetime,@date datetime
update #
set @date=case when @date1=in_date or @date2>=in_date
then dateadd(s,1,@date2) else in_date end,
@date1=in_date,
@date2=@date,
in_date=@date
--更新到基本表中去
update a set a.in_date=b.in_date from
a a join # b on a.id_no=b.id_no
select * from a
drop table #,a
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- sql with as的用法介绍 2020-02-09
- sql中关于all,any,some的用法介绍 2019-10-28
- MSSQL中Return的用法 2019-01-01
- SQL连接查询介绍 2018-06-17
- MySQL中SQL的单字节注入与宽字节注入 2009-05-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash