从 SQL Server 返回的数据中修剪"-"



我有一个查询,在SQL Server返回这样的数据:

1234-A
2345-BB
3456-C
5678-CC
4567-AA              
6789-B
01234-A
26857-ZZ                         

这是我需要显示:

A
B
C
C
A
B
A
Z

我需要得到'-'后面的第一个字母。如何显示这个?

试试这个:

DECLARE @MyTable TABLE (MyCol VARCHAR(255));
INSERT @MyTable (MyCol)
VALUES ('1234-A'),('2345-BB'),('3456-C'),('5678-CC'),
('4567-AA'),('6789-B'),('01234-A'),('26857-ZZ');
SELECT SUBSTRING(MyCol, CHARINDEX('-', MyCol, 1) + 1, 1)
FROM @MyTable;

CHARINDEX查找列值中的"-"所在的位置。
SUBSTRING从该索引+ 1处开始,在本例中返回1个字符。

您可以将substr与instr结合使用以获得输出

最新更新