程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> SQL拼接字段數據,sql拼接字段

SQL拼接字段數據,sql拼接字段

編輯:MySQL綜合教程

SQL拼接字段數據,sql拼接字段


查詢語句:

SELECT 
STUFF
(
    (
        SELECT 
        ',' + --分隔符 
     KeyID --查詢字段 FROM #tmp --查詢數據表 WITH(NOLOCK) WHERE 1=1 --查詢條件 FOR XML PATH('') ), 1,-- 0:NULL 1:原樣輸出 2++:首位添加分隔符 1,-- N:截取 N - Len 的字符 ''-- 在字符串首尾添加的符號 )

測試語句:

IF EXISTS(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmp')) --判斷臨時表【#tmp】是否存在
BEGIN
    DROP TABLE #tmp  --刪除臨時表
END


CREATE TABLE #tmp --創建臨時表
(
    KeyID VARCHAR(36),
    KeyValue VARCHAR(max)
)

--項臨時表插入測試數據
INSERT INTO #tmp VALUES(newid(),'數據一')
INSERT INTO #tmp VALUES(newid(),'數據二')

--查詢語句

--單個字段
SELECT 
STUFF
(
    (
        SELECT 
        ',' + --分隔符
        KeyID --查詢字段
        FROM #tmp --查詢數據表
        WITH(NOLOCK) 
        WHERE 1=1 --查詢條件
        FOR XML PATH('')
    ),
    1,-- 0:NULL 1:原樣輸出 2++:首位添加分隔符
    1,-- N:截取 N - Len 的字符
    ''-- 在字符串首尾添加的符號
)

/*--多字段組合
SELECT 
STUFF
(
    (
        SELECT 
        ',KeyID:'+ KeyID + ';KeyValue:' + KeyValue --查詢字段
        FROM #tmp --查詢數據表
        WITH(NOLOCK) 
        WHERE 1=1 --查詢條件
        FOR XML PATH('')
    ),
    1,-- 0:NULL 1:原樣輸出 2++:首位添加分隔符
    1,-- N:截取 N - Len 的字符
    ''-- 在字符串首尾添加的符號
)
*/

 查詢結果(注:具體結果由自動生成的KeyID決定):

  1、單字段:

    1B0EC911-5C2B-4FDE-87BB-62981DE2030D,0527DF18-9EDD-484D-B770-B24B13C68CA1

  2、多字段組合:

    KeyID:33C28B1E-3F75-4119-A944-1DB7541088E0;KeyValue:數據一,

    KeyID:4ECF1696-7DB6-43C7-8182-22EEF676E2CF;KeyValue:數據二

 說明:

  1、數據庫表與臨時表查詢方式一樣,替換表和字段即可,謝謝。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved