sql 怎么去掉最后一个字符,请看详细

如题所述

对于字符串结尾不是空格的情况用Len是可以的(如上):

substring(字符串,1,len(字符串)-1) 从第一位开始,截取到第n-1位
left(字符串,len(字符串)-1)  从左侧截取n-1位

但是结尾有空格时得不到正确结果(如下,括号[]不算在字符串内,为了显示后面有空格):
[胡 大侠      ]执行后成为 [胡 大]

所以要先判断结尾是否有空格,有的话用下面语句先行替换:
UPDATE Student SET [Name] = SUBSTRING([Name], 1, LEN([Name])) WHERE  RIGHT([Name], 1) = ' '
不管后面在多少空格,这一个子就全替换掉啦!然后再用前面的语句就可以正确去掉最后一个字符了。(如果在你的需求里最后的空格也算一个字符,那么要标记下或者合成一条语句执行)
(PS:试过DataLength()也不行,因为它是以字节计算)

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-30
substring(字符串,1,len(字符串)-1) 从第一位开始,截取到第n-1位
left(字符串,len(字符串)-1) 从左侧截取n-1位本回答被提问者采纳

sql 怎么去掉最后一个字符,请看详细
所以要先判断结尾是否有空格,有的话用下面语句先行替换:UPDATE Student SET [Name] = SUBSTRING([Name], 1, LEN([Name])) WHERE RIGHT([Name], 1) = ' '不管后面在多少空格,这一个子就全替换掉啦!然后再用前面的语句就可以正确去掉最后一个字符了。(如果在你的需求里最后的空格也算一...

sql语句如何去掉一段特别长的文字最后一个字符?
如果只有一个单引号想去掉,可以用这个:update 表名 set 列名 = replace(列名,'\\'','')如果确定在最后一位,可以用这个:update 表名 set 列名 = left(列名,CHAR_LENGTH(列名) - 1)望采纳,谢谢

怎么SQL删除最后一个指定字符~
A = LEFT( A , LEN( A) - 1 )WHERE RIGHT( A, 1 ) = ','算法:A = LEFT( A , LEN( A) - 1 )就是设置 A = A 的左边开始, 长度是 A 长度减1。条件是 RIGHT( A, 1 ) = ','意思就是 最右边的一个字符是 逗号。

小经验:SQL中如何去掉字符串中最后一个字符
--长度减一就可以了select left(字段名,len(字段名)-1) from 表名

sql 删除表中的字段的最后一个字符
如果就是要现在这种效果可以用UPDATE:UPDATE A SET 字段名=SUBSTR(字段名,1,6);如果想适用于所有类似SQL就这么写:UPDATE A SET 字段名=SUBSTR(字段名,1,LENGTH(字段名)-1);

sql,如何把最后一个\/去掉 ??
Update tableName SET 索书号 = REPLACE(索书号, '\/', '')将该字段的'\/'替代为空字符 再更新回去就可以了

sql 删除表中的字段的最后一个字符
sqlserver写法 如果是其他数据库请说明,略有改动 update 表A set 字段A=substring(字段A,1,len(字段A)-1) where 字段A like '%,'

怎么去掉string最后一个字符
最后,要达到去除最后一个字符的目的,我们可以编写如下的SQL语句:select t.*, substr(value, 1, length(value) - 1) as value2 from test_string t; 这个SQL通过substr函数截取字符串的前部分,长度为原始长度减一,从而实现了去掉最后一个字符的效果。通过执行此查询,你可以得到新的value2列,其...

一条sql语句,我想通过jquery 去掉最后一个逗号,表名也是根据选择生成的...
你这个表名应该是累加的吧。你可以这样做:在点击提交按钮的时候做一件事,就是去掉最后一个逗号,得到你想要的。例如:var str='‘;for(var i=0;i<5;i++){ str += i + ',';} str=str.substring(0,str.length-1);alert(str);出来的结果就是:1,2,3,4 ...

SQL如何取出一个字符串中最后一个特殊字符右边的字符,例如:10*20*300...
reverse是把字符串倒置,然后通过charindex来获取倒置之后第一个*的位置,然后使用substring函数进行字符串截取,截取后再使用reverse倒置回来即可。以下为例子 declare @str varchar(20)set @str = '10*20*300'select reverse(substring(reverse(@str),1,charindex('*',reverse(@str)) - 1))结果是300...

相似回答