首页 > 其他 > 详细

利用某一列的值修改之后来更新其自己

时间:2014-04-27 09:17:21      阅读:536      评论:0      收藏:0      [点我收藏+]
--需求说明,在signBook2中有一列date_time,值是201210201221,我需要将其前面的2012,改成2014,所以写了下面这段存储过程

--_id是表中的一列,是主键identity的

declare @i int
declare @datetime varchar(50)
set @i=613
while(@i<678)
begin
set @datetime =(select date_time from signBook2 where _id=@i)
--下面这句,也是可以的
--select @datetime = date_time from signBook2 where _id = @i
print @datetime--此句输出datetime的值
--substring(expression,start,length)
print substring(@datetime,5,9)
print str(@datetime)--刚开始,我使用这个函数,造成了错误,此处会将变量的值变成‘**********‘
set @datetime = ‘2014‘+ltrim(substring(@datetime,5,9))
print @datetime
update signBook2 set date_time=@datetime where _id=@i
set @i=@i+1
end

--总结,经网上查证,str函数->str(nExpres[,nLength[,nDecimalPlaces]])
--nExpression------str要计算的数值表达式.
--nLength------------str返回的字符长度。该长度包括小数点所占的字符和小数点右边每个数字所占的字符。
--如果指定长度大于小数点左边数字位数,str()前导空格填充返回的字符串;
--如果指定长度小于小数点左边的数字位数,str()返回一串星号,表示数值溢出。
--nDecimalPlaces---由STR()返回字符串中的小数位数。若要指定小数位数,必须同时包含nLength。
--如果指定的小数位数小于nExpress中的小数位数,则截断多余的数字。
--返回值类型->字符型
--当数字转换为字符串时,始终未Number的符号保留一个前导空格,如果Number为正,则返回字符串包含前导空格,并暗含加号。负数将包含减号(-),且没有前导空格。

利用某一列的值修改之后来更新其自己,布布扣,bubuko.com

利用某一列的值修改之后来更新其自己

原文:http://blog.csdn.net/shijiebei2009/article/details/24525367

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!