MSSQL 一个循环插入的列子

系统 1870 0

今天在群里看到有人提问  怎么实现如下图的功能,很明显,如果我们手工插的话,费时费力,那何不来个循环判断插入了,这使我想起了 while 语句

  55

说做就做   于是  写出了 下面的代码:

 

 

create table rq
(dt datetime ,
wb varchar(5)
)

declare @dt datetime
declare @n int

set @dt='2011-12-1'
set @n=0

while @n<10 begin -----看情况修改10这个数据

insert into rq select  dateadd(d,@n,@dt),23),'上午'
insert into rq select  dateadd(d,@n,@dt),23),'下午'

set @n=@n+1

end

 

 

但是问题出来了,执行完全没有问题,但是dt 一列怎么全部是 为datetime格式了 也就是 日期后面 还跟了一堆0,

我直接用CONVERT(varchar(12),dateadd(d,@n,@dt),23)函数去转换,但是无论如何转换,插入后的值永远是后面带一堆0的

 

那叫一个纳闷了,后来我关注到了数据类型上  原理datetime数据类型就是这样带0的 ,呵呵

 

找到症状了 ,对症下药,就把  dt列的  数据类型 换为了 varchar(12) 完美解决,没有0了。

 

create table rq
(dt varchar(12) ,
wb varchar(5)
)

declare @dt datetime
declare @n int

set @dt='2011-12-1'
set @n=0

while @n<10 begin

insert into rq select dateadd(d,@n,@dt),'上午'
insert into rq select dateadd(d,@n,@dt),'下午'

set @n=@n+1

end

 

 

 

写的不好,多多包涵,欢迎指教。

 

MSSQL 一个循环插入的列子


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论