首页 > 解决方案 > SQL Server 2016:获取两个字符之间的字符串?

问题描述

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

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

但是语法总是一样的,在 a-和 a之间_

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

标签: sqlsql-serverstring

解决方案


试试这个:

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)

推荐阅读