sql语句进行批量修改

例:gds表中的这个字段列
c_gname
z苹果
z西红柿
z梨
一次性批量改为
c_gname
苹果
西红柿

请高手不吝指教
我用的是sql server
最新回答
寻鲸录

2024-10-17 08:26:10

修改语句 update hstlst set h_hmedir='e:\'+SUBSTRING (h_hmedir, 4, len(h_hmedir)-3)where left(h_hmedir,3)='d:\'涉及知识:Update更改表中的现有数据SET指定要更新的列或变量名称的列表SUBSTRING返回字符、binary、text 或 image 表达式的一部分语法SUBSTRING ( expression , start , length )expression是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。start是一个整数,指定子串的开始位置。length是一个整数,指定子串的长度(要返回的字符数或字节数)。LEFT返回从字符串左边开始指定个数的字符。语法LEFT ( character_expression , integer_expression ) 参数character_expression字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐式地转换为 varchar 的数据类型。否则,请使用 CAST 函数显式转换 character_expression。integer_expression是正整数。如果 integer_expression 为负,则返回空字符串。返回类型varchar爱上网iSuNet论坛谢谢您的支持,转载请带本帖地址:[url]
http://www.ningood.com/viewthread.php?tid=5638&fromuid=0
[/url]
九命猫

2024-10-17 08:13:56

不知道你现在用的是那个厂商的数据库,各自用自己不同的函数;
如果如果是oracle,就用
update gds set c_gname=substr(c_gname,2);
commit;

如果是sqlserver的话,就用
update gds set c_gname=substring(c_gname,2)
commit
柏拉图爱恋

2024-10-17 08:46:48

update gds set c_gname=select right(c_gname,len(c_gname)-1)
ltrim:是去空格。。。。。

PS: select right('z苹果',len('z苹果')-1) 测试得到 苹果,符合要求~~
巷陌

2024-10-17 09:21:13

update gds sets c_gname=substring(@c_gname,2) 试试
我多年没使过这些命令了。
丑到未知丑

2024-10-17 08:24:24

update gds set c_gname=ltrim(c_gname,'z')