簡體   English   中英

將逗號分隔的兩個字符串值轉換為表

[英]Convert comma separated two string values to table

我想將逗號分隔的兩個字符串值轉換為 SQL Server 表。 注意:鍵,值在兩個字符串中將始終包含相同的長度。

例子:

Key => Dev1,Dev2
Value=> Test1,Test2

輸出應在單個表中,如下所示:

Column1      Column2
----------   ------
Dev1         Test1
Dev2         Test2

在此處輸入圖片說明

您需要一個拆分器來將輸入字符串解析為帶有位置的子字符串。 一種可能的選擇是基於 JSON 的方法。 您需要將逗號分隔的值轉換為 JSON 數組,並使用OPENJSON()和默認架構解析此數組:

DECLARE @Key varchar(1000) = 'Dev1,Dev2,Dev3'
DECLARE @Value varchar(1000) = 'Test1,Test2,Test3'

SELECT 
   j1.[value] AS Column1,
   j2.[value] AS Column2
FROM OPENJSON(CONCAT('["', REPLACE(STRING_ESCAPE(@Key, 'json'), ',', '","'), '"]')) j1
FULL JOIN OPENJSON(CONCAT('["', REPLACE(STRING_ESCAPE(@Value, 'json'), ',', '","'), '"]')) j2
   ON j1.[key] = j2.[key]

結果:

Column1 Column2
---------------
Dev1    Test1
Dev2    Test2
Dev3    Test3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM