【问题标题】:sql server extract the "like substring"sql server 提取“like substring”
【发布时间】:2014-04-03 06:17:20
【问题描述】:

我想得到 select 语句的“like substring”。

我的表:

Container      ItemName

101            QQQ A12 DDD
101            QQTT A12 R33 
102            QQQ A3 AB3
103            QQ BB BB11

select 语句可以很好地获取我需要的行(记录)(没有“like substring”)

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 逻辑运算符找到的子字符串

我该怎么做?

谢谢 尤西

【问题讨论】:

  • Yossi,真的不清楚你在问什么。
  • 由于 SQL Server 不支持正则表达式(除了它是非标准的 LIKE “扩展”)我不认为你可以用 T-SQL 做到这一点

标签: sql-server tsql sql-like


【解决方案1】:

这不是你可以用 sql 做的事情。尽管LIKEPATINDEX 确实公开了一些类似于正则表达式的功能,但它们仅用于过滤满足给定条件的行。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多