2014-06-27 29 views
2

UPDATE TBL SET Col1='multi \r\nline \r\ntext'如何選擇多行文本作爲不同的單行文本?

我使用上面的查詢設置col1值多值。

我想選擇col1作爲3行。

我想輸出

Select col1 from tbl

COL1


文本

+0

ü要更新或插入 – Azar

+0

我做的插入和更新用和我的查詢是如何在不同的行 – Sam1604

+0

選擇它。如果它是插入它是可能的,我可以給你的查詢,爲更新,因爲它對現有的行作出我的知識是不可能的,因爲它必須插入額外的兩行爲此目的。 – Azar

回答

2

爲了這個字符串分開,我們使用nodes() Method of XML data type元素。 要使用它,我們應該將此字符串轉換爲XML格式。只是'</X><X>'替換'\r\n'

WITH T AS 
(
    SELECT ID, 
    CAST('<X>'+REPLACE(col1,'\r\n','</X><X>')+'</X>' as XML) as xmldata 
    FROM TBL 
) 

SELECT T.ID, 
     a.c.value('data(.)', 'VARCHAR(100)') as col1 
FROM T 
CROSS APPLY xmldata.nodes('X') as a(c) 

SQLFiddle demo

+0

感謝您的快速回復... – Sam1604

0

嘗試此插入

insert into table 
Select a.na 
from table 
cross apply(Select 'multi' na union Select 'Line' union Select 'Text')a