从SQL Server中的给定字符串获取唯一字符 [英] Get Distinct characters from a given string in sql server
本文介绍了从SQL Server中的给定字符串获取唯一字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要一个T-SQL函数,用于删除给定字符串中的重复字符
i need a T-SQL function that remove duplicate charcters in a give String
例如Fn_Remove('AVGHAHA')它将返回AVGH
for exemple Fn_Remove('AVGHAHA') it will returns AVGH
推荐答案
使用>code> NGrams8K ,您可以将字符串拆分为单个字符令牌",将数字应用于该字符集,然后仅使用每个字符的第一个进行重建:
Using NGrams8K
, you can split the string into individual character "tokens", apply a number to that character set, and then rebuild with only the first of each character:
WITH CTE AS(
SELECT V.S,
N.position,
N.token,
ROW_NUMBER() OVER (PARTITION BY N.token ORDER BY N.position) AS RN
FROM (VALUES('AVGHAHA'))V(S)
CROSS APPLY dbo.NGrams8k(V.S,1) N)
SELECT V.S,
(SELECT '' + C.token
FROM CTE C
WHERE C.S = V.S
AND C.RN = 1
ORDER BY C.position
FOR XML PATH('')) AS Replaced
FROM (VALUES('AVGHAHA'))V(S);
这篇关于从SQL Server中的给定字符串获取唯一字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文