sql-server - SQL Server提取 "like substring"

标签 sql-server t-sql sql-like

我想获取 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 可以做到的事情。虽然 LIKEPATINDEX确实公开了一些类似于正则表达式的功能,它们只是用于过滤满足给定条件的行。

您希望执行与在查询的 Select 部分中提取正则表达式分组相同的操作,这是 native transact-sql 无法做到的。在返回查询结果之后,在应用程序代码中执行此操作会更合适。

关于sql-server - SQL Server提取 "like substring",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22125771/

相关文章:

sql - 如果列已经按顺序排列,是否需要在列中添加索引?

带参数和通配符的 SQL LIKE 运算符

sql-server - 如何将 SQL Server 合并到 Nuxt.js 应用程序中

c# - 数据库发生死锁,但为什么?

sql - 寻找 SQL 事务日志文件查看器

sql - Sql 中的聚合

sql - 如何合并 2 个 SQL 查询?

sql - 获取给定开始日期和结束日期的以周为间隔的所有日期

mysql - 如何在存储过程中使用类似语法

MySQL 通过 LIKE 和 AND 搜索