[英]T-SQL Wildcard search - namespace values
我需要满足条件中具有“ns [0-9]:”的条件,其中[0-9]可以是任何大于10的数字。
例:
DECLARE @test TABLE ( value VARCHAR(20))
INSERT INTO @test VALUES
( 'ns1:'),
( 'NOT OK'),
( 'ns7:'),
( 'ns8:'),
( 'ns9:'),
( 'ns10:'),
( 'ns11:' )
SELECT *, PATINDEX( '%ns[0-9]:%', value ) passes
FROM @test
这仅适用于1到9,而不是10和更高。 我可以使用[0-9] [0-9],但它只适用于10及以上。 我也不想在数字和冒号之间使用外卡。
我只想要以下格式返回带有patindex的1
ns1:,ns2:,ns10:,ns11:等
我还需要一个非功能性解决方案。 出于性能原因,我想使用字符串之类的功能
谢谢
您可以使用:
select (case when value like 'ns[0-9]%:' and
value not like 'ns[0-9]%[^0-9]%:'
then 1 else 0
end) as passes_flag
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.