【问题标题】:SQL Server 2016: get string between two characters?SQL Server 2016:获取两个字符之间的字符串?
【发布时间】:2020-06-25 18:33:03
【问题描述】:

我有多个这样的记录:GUID-155_188.PNG

我需要取字符串155,当然这个数字是可变的,所以可能有1、2、3000等。

但语法总是相同的,在-_ 之间。

那么,我怎样才能提取这两个字符之间的那部分呢?

【问题讨论】:

标签: sql sql-server string


【解决方案1】:

试试这个:

DECLARE @g varchar(1000) = 'GUID-155_188.PNG'
SELECT LEFT(RIGHT(@g, CHARINDEX('-', REVERSE(@g), 0) - 1), CHARINDEX('_', (RIGHT(@g, CHARINDEX('-', REVERSE(@g), 0) - 1)), 0) - 1)

【讨论】:

    【解决方案2】:

    试试这个:

    DECLARE @string VARCHAR(100) = 'GUID-15_188.PNG'
    SELECT SUBSTRING(@string, CHARINDEX('-', @string) + 1, CHARINDEX('_', @string) - CHARINDEX('-', @string) - 1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多