当前位置:神舟问>生活百科>sql 更新语句

sql 更新语句

2024-06-02 12:38:42 编辑:join 浏览量:521

问题补充说明:同表下:有四字段分别:资料,性别,姓名,年龄,地区资料字段内容是格式是:男,张三,29岁,杭州我用update 表 set 性别=left(资料,charindex(',',资料)-1) 但是后面要怎么解决?求完整语句!  

sql 更新语句

--本人已测试过,没问题,望采纳谢谢

--创建存储过程test_SP

createproctest_SP

as

begin

 --定义@Sex副性别,@Name姓名,@Age年龄,@Area地区,@ziliao资料 变量

 declare@Sexvarchar(10),@Namevarchar(10),@Agevarchar(10),@Areavarchar(10),@ziliaovarch致困均在差角互师换消次ar(100)

 --样心技坐视始定义资料字段@idx1,2,3是用来保存逗号在字符串中的位置

 dec360问答lare@idx他兴溶到王黄右代觉1int,@idx2int,@idx3int 

 --定义游标C_test,访问数据集合,详细自己查资料去

 DeclareC_testCursor

 --ziliao(资料字段来自哪个表)(ziliaoinfo)

 forSelectziliaofromziliaoinfo

 --打开游标

 openC_test

  --执行第一次提取,得到的结果集的首行

  fetchnextfromC_testinto@ziliao

  --检测@@fetch_Status,若仍有行,则继续循环

  --只要上次提取获得成功,就会执行下面损利侵错决修先金粒的提取

  while@@fetch_Status=0

  begin

     --景跑演本人也是新手,不知道怎么在T—SQL中氢知若班将握歌方把字符分组,所以用笨拙的方法,不过朋友您也想到了。

     --获旧跟吧除得第一个逗号在整个ziliao(资料)字段中设格矿出现的位置,               然后用Substring函数截取性别

    Select@idx1=charindex(',',@ziliao)                                     ,@Sex=substring(@ziliao,0,@idx1),

     --获得第二个逗号在截刘特被掌坚冲取substring(@ziliao,@idx1+1,len(@ziliao))因为@idx1+1字符串变成了例如张三,周纪高按结29岁,杭州,然后树仅客看文岩湖商似找用Substring函数截取姓名

     @idx2=charindex(',',substring(@ziliao,@idx1+1,len(@ziliao)))     ,@Name=(substring(substring(@ziliao,@idx1+1,len(@ziliao)),0,@idx2)),

     --获得第三个逗号在截取substring(@ziliao,@id长半x1+@idx2+1,len(@ziliao))因为@idx2+1字符串变成了例如知异29岁,杭州,然后用Substring函数截取年龄

     @idx3=charindex(',',su剧假至照bstring(@ziliao,@idx1+@idx2+1,len(@zilia希型依煤o))),@Age=substring(subst景医木季ring(@ziliao,@idx1+@idx2+1,len(@ziliao)),0,@idx3),

     --如果还有逗企形号就声明变量然后substring(@ziliao,@idx1+@idx2+@idx3+……+1,len(@ziliao))

     --获得最后个逗号在截取直接用前面三个出现的位置加起来然后用Substring函数截取地区

                        @Area=substring(@ziliao,@idx1+@idx2+@idx3+1,len(@ziliao))

    --然后向数据表插入新数据,  朋友您说是更新,又没给出根据什么条件来所以我就用插入语句,你想更新的话你自己改下语句,添加下条件就可以了。

    insertintotb_user(Sex,[Name],Age,Area)values(@Sex,@Name,@Age,@Area)

  fetchnextfromC_testinto@ziliao

  end

 closeC_test--关闭游标

 deallocateC_test--释放游标

end

标签:sql,语句,更新

版权声明:文章由 神舟问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.shenzhouwen.com/life/357403.html
热门文章