我想获取 select 语句的“like 子串”。
我的表:
Container ItemName
101 QQQ A12 DDD
101 QQTT A12 R33
102 QQQ A3 AB3
103 QQ BB BB11
select 语句可以很好地获取我需要的行(记录)(没有“like 子字符串”)
SELECT Container, <like substring>
FROM MyTable
Where (ItemName like '%A[0-9] %') OR (ItemName like '%A[0-9][0-9] %')
GROUP BY Container, <like substring>
结果我希望得到:
Container "like substring"
101 A12
102 A3
真正的问题是如何获取(显示)由like逻辑运算符找到的子字符串
我该怎么做?
谢谢 约西
最佳答案
这不是用 sql 可以做到的事情。虽然 LIKE
和 PATINDEX
确实公开了一些类似于正则表达式的功能,它们只是用于过滤满足给定条件的行。
您希望执行与在查询的 Select
部分中提取正则表达式分组相同的操作,这是 native transact-sql 无法做到的。在返回查询结果之后,在应用程序代码中执行此操作会更合适。
关于sql-server - SQL Server提取 "like substring",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22125771/