如何解决T-SQL 中的 TRIM 正斜杠
TRIM(LEADING '/' FROM ci.Long_description_1) as 'Description',
我收到错误信息
'/' 附近的语法不正确
最好的写法是什么?
谢谢
解决方法
如果您使用的是 SQL Server 2017+,您可以使用带有小技巧的 TRIM()
(默认情况下,TRIM()
从 start 和 >end 字符串):
SELECT LEFT(
TRIM('/' FROM Long_description_1 + '?'),LEN(TRIM('/' FROM Long_description_1 + '?')) - 1
) AS Description
FROM (VALUES
(NULL),('abcd'),('1234/'),('////abcd'),('/folder/subfolder/x.yz')
) ci (Long_description_1)
结果:
Description
----------------------
abcd
1234/
abcd
folder/subfolder/x.yz
,
如果 '/'
是 Long_description_1
列值的第一个字符,我认为您想删除它。 TRIM
中的 SQL Server
函数不会按您预期的方式工作。
为此,您可以编写如下查询。
SELECT CASE
WHEN CHARINDEX('/',ci.Long_description_1) = 1
THEN RIGHT(ci.Long_description_1,LEN(ci.Long_description_1) - 1)
ELSE ci.Long_description_1
END AS [Description]
FROM YouTable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。