我有一个查询,在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结合使用以获得输出