拜托,你能回答我的问题吗?
如何使用 SQL 从字符串末尾删除数字?
例如,字符串“2Ga4la2009”必须转换为 2Ga4la。问题是我们无法修剪它们,因为我们不知道字符串末尾有多少位数字。
最好的问候,加琳娜。
这似乎有效:
select left( concat('2Ga4la2009','1'), length(concat('2Ga4la2009','1')) - length(convert(convert(reverse(concat('2Ga4la2009','1')),unsigned),char)))
concat('myvalue', '1') 是为了防止出现以 0 结尾的数字。
反面则将其翻转,因此数字位于前面。
内部转换将反转的字符串更改为数字,并删除尾随字符。
外部转换将数字部分转回字符,这样您就可以获得长度。
现在您知道了数字部分的长度,并且可以使用“left()”函数确定要截断的原始值的字符数。
丑陋,但它有效。 :-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)