栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

比较SQL Server中两个字符串中的数字

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

比较SQL Server中两个字符串中的数字

我创建了一个表值函数,该函数接受两个参数,第一个是带有ID的字符串,第二个是字符串中的定界符。

CREATE FUNCTION [dbo].[Split](@String nvarchar(4000), @Delimiter char(1))       returns @temptable TABLE (items nvarchar(4000))       as       begindeclare @idx intdeclare @slice nvarchar(4000)    select @idx = 1    if len(@String)<1 or @String is null  return    while @idx!= 0begin    set @idx = charindex(@Delimiter,@String)    if @idx!=0        set @slice = left(@String,@idx - 1)    else        set @slice = @String        if(len(@slice)>0)   insert into @temptable(Items) values(@slice)        set @String = right(@String,len(@String) - @idx)    if len(@String) = 0 breakend   return       end

创建函数后,只需使用

UNIOn
set运算符即可:

已编辑

WITH ListCTE AS (select items from dbo.split('400,600,150,850,160,250', ',')unionselect items from dbo.split('600,150,900', ','))SELECt TOP 1   MemberList = substring((SELECT ( ', ' + items )     FROM ListCTE t2     ORDER BY         items     FOR XML PATH( '' )    ), 3, 1000 )FROM ListCTE t1

有了它,

UNIOn
您将自动从两个字符串中获得不同的值,因此您不需要使用
DISTINCT
子句



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号