【问题标题】:Extracting substring before alphabet in SQL在SQL中提取字母表前的子串
【发布时间】:2022-12-09 05:43:12
【问题描述】:

假设我在 column1 中包含以下字符串:

1) 12345BC01
2) 67890DE05

我如何制定我的 SELECT 子句以仅提取任何字母字符之前的值?所以我的输出看起来像:

1) 12345
2) 67890

我找到了以下解决方案,但它似乎抓住了字母字符后的所有内容:

SELECT STUFF(column1,1,ISNULL(NULLIF(PATINDEX('%[^0-9]%',column1),0)-1,0),'')

我希望我能详细说明我尝试过的其他内容,但不幸的是我对正则表达式一无所知。任何帮助将不胜感激

【问题讨论】:

    标签: sql sql-server regex


    【解决方案1】:

    你可以这样尝试:

    Select left(column1,patindex( '%[^0-9]%', column1+'A')-1)
     from @YourTable
    

    【讨论】:

      猜你喜欢
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2021-04-14
      • 1970-01-01
      • 2019-12-21
      相关资源
      最近更新 更多