SQL WHERE 字符串比较忽略前缀零

问题描述 投票:0回答:1

我有一个如下所示的 T-SQL

WHERE
子句,以便查找具有特定字符串的项目,并且不考虑开始/结束空格:

SELECT TOP(1) * 
FROM [dbo].[Item] 
WHERE LTRIM(RTRIM([ItemNumberText])) = LTRIM(RTRIM({0}))

我们如何添加到

WHERE
子句中,以便不考虑字符串中的初始零,并且不区分大小写?

例如,字符串

"00000123"
"123"
应被视为相同。转换为数值没有意义,因为我们可能会遇到字符串中有字母的情况。

sql sql-server string where-clause string-search
1个回答
0
投票

您无需担心尾随空格,因为这些空格在

=
比较中并不重要。所以不需要
RTRIM

要去掉您可以使用的任何前导空格或零

SUBSTRING(ItemNumberText, PATINDEX('%[^ 0]%', ItemNumberText), 8000)
© www.soinside.com 2019 - 2024. All rights reserved.