SQL Server获取数据添加符号,截取方式,主要用于后台Dictionary比较
2015-07-27 12:13
246 查看
例如:通过会员ID获取订单ID,产品数量,显示在一列并在其中穿插”,” 和”;”,用于在订单后台中判断此商品的库存是否有效。
方法1:
PS: 我们要将需要用到的订单ID,数量根据会员ID获取到,并且在订单ID后加上 逗号,在数量后加上分号,以此类推,所以我们拼接字符串,由于拼接时第一个字符为分号,所以我们用到 Substring(字段,从第几个字符开始,总长度) 来截取上面已经获取到的字符串;
方法2:
PS:此方法跟上一个方法类似,同样是拼接查询字符串,只不过后面用到的函数是 left(字段,返回长度),由于这边拼接最后一个字段后会多一个逗号,所以这边在left()函数中再加上len(字段-1)=len(返回不包含最后一个字符的字符串),所以上述2种方法得到的字符串是一样的。
最后在后台中可配合字典集合 Dictionary,Split(‘,’),Split(‘;’)
来判断库存是否是有效值。
Split(‘,’) :以逗号为分割符,如果是分割一串字符串相当于一维数组。
例如:
方法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中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- Seafile Server本地权限提升漏洞(CVE-2014-5443)
- 从USB安装Ubuntu Server 10.04.3 图文详解
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- 使用zabbix监控Nginx活动状态--Part1
- 高效访问Internet-启用ISA Server的缓存
- linux快速部署mysql服务器
- windows server域用户提升到本地更高权限组中的方法
- 完美解决SQL Server 安装问题:以前的某个程序安装已在安装计算机上创建挂起的文件操作
- sql 存储过程分页
- IIS 错误 Server Application Error 详细解决方法
- 在WINXP系统上安装SQL Server企业版的方法