您的位置:首页 > 数据库

SQL Server获取数据添加符号,截取方式,主要用于后台Dictionary比较

2015-07-27 12:13 246 查看
例如:通过会员ID获取订单ID,产品数量,显示在一列并在其中穿插”,” 和”;”,用于在订单后台中判断此商品的库存是否有效。

方法1:

DECLARE @Users NVARCHAR(MAX) --声明变量
set @Users=''
SELECT @Users = @Users + ',' + CONVERT(varchar(4000),SkuProductSupplierPKId)+';'+CONVERT(varchar(4000),ProdQty) FROM TRD_ORDER_TEMP_DETAIL
WHERE MemberPKId=100000
SELECT SUBSTRING(@Users,2,10000000)


PS: 我们要将需要用到的订单ID,数量根据会员ID获取到,并且在订单ID后加上 逗号,在数量后加上分号,以此类推,所以我们拼接字符串,由于拼接时第一个字符为分号,所以我们用到 Substring(字段,从第几个字符开始,总长度) 来截取上面已经获取到的字符串;

方法2:

DECLARE @set NVARCHAR(MAX)
set @set=''
SELECT @set = @set + CONVERT(varchar(4000),SkuProductSupplierPKId)+';'+CONVERT(varchar(4000),ProdQty)+',' FROM TRD_ORDER_TEMP_DETAIL
WHERE MemberPKId=100000
SELECT left(@set,len(@set)-1)


PS:此方法跟上一个方法类似,同样是拼接查询字符串,只不过后面用到的函数是 left(字段,返回长度),由于这边拼接最后一个字段后会多一个逗号,所以这边在left()函数中再加上len(字段-1)=len(返回不包含最后一个字符的字符串),所以上述2种方法得到的字符串是一样的。

最后在后台中可配合字典集合 Dictionary,Split(‘,’),Split(‘;’)

来判断库存是否是有效值。

Split(‘,’) :以逗号为分割符,如果是分割一串字符串相当于一维数组。

例如:

string a="1,2,3";
string array[]=a.Split(',');
array[0]='1';
array[1]='2';
array[2]='3';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql server