sql 针对多个id或名称的分割和组合

Posted ghelement

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 针对多个id或名称的分割和组合相关的知识,希望对你有一定的参考价值。

开发中经常遇到把多个id拼接在一起符号隔开传入数据库,那拆分呢就是个大事

SELECT nPushID
    INTO   #temp
    FROM  Table1
    WHERE  CHARINDEX( , + CONVERT(VARCHAR(10), nCoulmn) + ,, , + 3305,3311,3314 + ,) > 0
SELECT * FROM #temp

这里的列针对的是int 型,所以要转换。

 

针对订单那种订单主从表,从表多个的名称拼接在一起的

--实例1 分割符在前
select isnull ((select @+ CommodityName from OrderInfo where OrderInfo.orderid =OrderMain.OrderID for xml path(‘‘)),‘‘) from OrderMain
where  orderid =20120302121548

--针对分隔符在前,可以用stuff很方便
select isnull (stuff((select @+ CommodityName from OrderInfo where OrderInfo.orderid =OrderMain.OrderID for xml path(‘‘)),1,1,‘‘),‘‘) from OrderMain
where  orderid =20120302121548

--实例2 同表,分隔符在后
SELECT  distinct vcName,dtCreateTime,
                    ISNULL ((select CONVERT(VARCHAR(5),nCode)+, from Table1 a where a.vcName =b.vcName AND a.dtCreateTime=b.dtCreateTime for xml path(‘‘)),‘‘)AS vcCode
                    FROM Table1 b

--分隔符在后,对于拼接名称的,个人觉得用substring、left还麻烦点,不如在后台或者前台去处理

 

以上是关于sql 针对多个id或名称的分割和组合的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个查询中组合 2 个或多个桥接表

如何标记从卷积神经网络的分割算法生成的图像片段?

组合多个 SQL 表

SQL CASE isNumeric 具有多个值?

用SQL查询分析器查询时怎么把一个字段用“”分割成多个?

如何在Python中将图像分割成多个片段