首页 > 解决方案 > 从查询中获取不同的值

问题描述

我在 sql 服务器上。

我的目标是根据名称字段中的第一个空格解析名称字段,然后获取不同的名称列表

我用下面的代码解析了名字

SELECT substring(name, 1, CHARINDEX(' ' , name))
From mytable

我无法从上述查询结果中获取不同的名称列表。有人会告诉我这样做的正确语法是什么吗?

例如

如果mytable有以下数据

在此处输入图像描述

我希望 distinct 的最终查询输出看起来像这样

迈克·爱德华

标签: sqlsql-servertsqlselectgroup-by

解决方案


你想要distinct吗?

select distinct substring(name, 1, charindex(' ' , name) - 1) name from mytable

注意:除非您还想捕获名称后的尾随空格,否则您需要在substring().

DB Fiddle 上的演示

| 姓名 |
| :----- |
| 爱德华 |
| 迈克 |

推荐阅读