SQL SERVER如何去除单个字段的重复值

小野马1209 2020-12-10 02:31:34
有个字段存储的是A;AB;A;ABC,如何去除重值
SELECT 'A;AB;A;ABC'
想要的结果
A;AB;ABC
...全文
400 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨夹雪 2020-12-10
  • 打赏
  • 举报
回复

CREATE TABLE #T
(
	id INT IDENTITY(1,1),
	A  VARCHAR(100)
)  

INSERT INTO #T(A) VALUES('A;AB;A;ABC'),('A;AB;A;ABCA;AB;A;ABC'),('AA;AA;BB;BB')

SELECT id ,  STUFF((SELECT ';'+value FROM string_split(A,';')
GROUP BY value
FOR XML PATH('') ) ,1,1,'' )B FROM #T 

DROP  TABLE  #T
AcHerat 元老 2020-12-10
  • 打赏
  • 举报
回复
对这个字段的数据按固定分隔符分隔,去重后重新组合在一起,建议写个函数,对这个字段调用 如果你查出来的数据是为了给程序前端用的话,最好是在程序里处理

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧