-3

我在 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
  

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

4

2 回答 2

1

尝试这个:

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 个字符。

于 2021-10-08T22:55:47.600 回答
-1

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

于 2021-10-08T22:55:44.997 回答