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

我请讲解下,sql 怎么去掉最后一个字符,请看详细
最新回答
相爱如饮酒

2024-11-28 13:30:35

对于字符串结尾不是空格的情况用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()也不行,因为它是以字节计算)

轮回亦思伊人

2024-11-28 14:27:23

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

2024-11-28 10:42:45

substing(字段,1,len(字段)-1)
望春风

2024-11-28 08:47:10

left(len(字段)-1,字段)