如何在SQL Server中为特定组合执行Regex模式



我正在尝试获取在sql server中的查询中具有特定字符组合的代码。

而不是在SQL Server 中说

and TIL.code LIKE '%tf%' or code like 'fs%' or code like '%ls%' 

有没有一种模式我可以使用

如果您的目标是避免OR,而不是使用Regex(SQL Server不支持(,则可以使用EXISTS:

AND EXISTS (SELECT 1
FROM (VALUES('%tf'),('fs%'),('%ls%'))V(Pattern)
WHERE TIL.Code LIKE V.Pattern)

如果这来自一个参数,那么您将使用一个表类型参数,然后用该参数替换VALUES表结构:

AND EXISTS (SELECT 1
FROM @YourTableTypeParameter TTP
WHERE TIL.Code LIKE TTP.YourPatternColumn)

最新更新