首页 > 解决方案 > 如果是 SQL 中的字母,如何选择子字符串但省略最后一个字符

问题描述

DECLARE @CUSTOMER_ID VARCHAR(50)
SELECT @CUSTOMER_ID = 'RS/123/2017(SA)' 
PRINT @CUSTOMER_ID

DECLARE @CUSTOMER_ID1 VARCHAR(50)
SELECT @CUSTOMER_ID1 = 'RS/123/2017SA' 
PRINT @CUSTOMER_ID1

我需要一个可以返回我的 customer_ID 的函数,字符串中的最后一个字符除外。我只能使用以下功能处理第一个。

case when charindex('(',@CUSTOMER_ID) = 0 then @CUSTOMER_ID 
else left(@CUSTOMER_ID,charindex('(',@CUSTOMER_ID)-1))

标签: sqlsubstringcharindex

解决方案


你可以像这样使用子字符串:

SELECT SUBSTR(@CUSTOMER_ID, 0, LENGTH(@CUSTOMER_ID) - 1) FROM your_table

推荐阅读