字符截取字符串

借助 SUBSTRING、CHARINDEX、LEN 按指定字符截取字符串

DECLARE @name NVARCHAR(50)
SET @name = '000001-23534324234'

-- 借助 SUBSTRING、CHARINDEX、LEN 三个函数,实现按 "-" 字符截取
SELECT SUBSTRING(
    @name,
    CHARINDEX('-', @name) + 1,
    LEN(@name) - CHARINDEX('-', @name) + 1
)Code language: CSS (css)

函数拆解说明

函数作用本例中的值
CHARINDEX('-', @name)查找 - 在字符串中的位置7
CHARINDEX('-', @name) + 1截取起始位置(跳过 - 本身)8
LEN(@name) - CHARINDEX('-', @name) + 1截取长度(从 - 之后到末尾)12

执行结果

23534324234

更简洁的写法

如果只需要截取 - 之后的所有内容,可以直接用 RIGHT 函数替代:

SELECT RIGHT(@name, LEN(@name) - CHARINDEX('-', @name))Code language: CSS (css)

效果相同,但代码更简洁易读。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注