我有這樣的(僞代碼)的SQL查詢SQL列字符串
Select ID, TEXT, 1, 2, 3, 4, 5, 6, 7 from blabla
,但我需要的是有3列
Select ID, TEXT, STRING(1, 2, 3, 4, 5, 6, 7) from blabla
我能做到這一點只用SQL查詢?
編輯:
額外的問題: 它不工作,如果1-7返回NULL或沒有。我如何將NULL轉換爲空字符串? (MySQL的2005)
我有這樣的(僞代碼)的SQL查詢SQL列字符串
Select ID, TEXT, 1, 2, 3, 4, 5, 6, 7 from blabla
,但我需要的是有3列
Select ID, TEXT, STRING(1, 2, 3, 4, 5, 6, 7) from blabla
我能做到這一點只用SQL查詢?
編輯:
額外的問題: 它不工作,如果1-7返回NULL或沒有。我如何將NULL轉換爲空字符串? (MySQL的2005)
# With Space
SELECT ID, TEXT,
(1 + ' ' + 2 + ' ' + 3 + ' ' + 4 ' ' + 5 + ' ' + 6 + ' ' + 7) as Merged
FROM blabla
# Without Space
SELECT ID, TEXT,
(1 + 2 + 3 + 4 + 5 + 6 + 7) as Merged
FROM blabla
# With Space
SELECT ID, TEXT,
CONCAT_WS(' ', 1, 2, 3 , 4, 5, 6, 7) as Merged
FROM blabla
# Without Space
SELECT ID, TEXT,
CONCAT(1, 2, 3 , 4, 5, 6, 7) as Merged
FROM blabla
# With Space
SELECT ID, TEXT,
1 || ' ' || 2 || ' ' || 3 || ' ' || 4 || ' ' || 5 || ' ' || 6 || ' ' || 7 as Merged
FROM blabla
# Without Space
SELECT ID, TEXT,
1 || 2 || 3 || 4 || 5 || 6 || 7 as Merged
FROM blabla
儘管你必須做CAST(1 AS nvarchar)+''+ CAST(2 AS nvarchar)+ ...在SQL Server中,只要您連接未鍵入爲字符串的值。 – erikkallen 2010-06-28 09:21:33
只是我們的+字符來連接字符串,假設你的1-7字符串字段:
Select ID, TEXT, 1 + ' ' + 2 + ' ' + 3 + ' ' +
4 + ' ' + 5 + ' ' + 6 + ' ' + 7 as YourFieldName from blabla
我已經在字段之間加入了空格,但是您也可以提供逗號或其他分隔符。
在t-sql:
Select ID, TEXT, 1 + 2 + 3 + 4 + 5 + 6 + 7 from blabla
在PL-SQL:
Select ID, TEXT, 1 || 2 || 3 || 4 || 5 || 6 || 7 from blabla
在MySQL:
Select ID, TEXT, CONCAT(1, 2, 3, 4, 5, 6, 7) from blabla
轉換/石膏可以根據數據類型的列的要求1 - 7
如何在MS-SQL中將NULL轉換爲''? – nickik 2010-06-28 09:25:35
@nickik:使用'ISNULL(column,「」)'構造 – 2010-06-28 09:56:39
如果我的上司是正確的:
從blabla中選擇ID,TEXT,'1,2,3,4,5,6,7';
從blabla中選擇ID,TEXT,'1','2','3','4','5','6','7';
Select ID,
TEXT,
CONCAT_WS(',', 1, 2, 3, 4, 5, 6, 7) as Concatenated
from blabla
或
Select ID,
TEXT,
CONCAT(1, ',', 2, ',', 3, ',', 4, ',', 5, ',', 6, ',', 7) as Concatenated
from blabla
在MySQL
Select ID,
TEXT,
1 || ',' || 2 || ',' || 3 || ',' || 4 || ',' || 5 || ',' || 6 || ',' || 7) as Concatenated
from blabla
在甲骨文
而是取決於你的數據庫的味道
我認爲它不可能使用逗號而不是加
什麼數據庫系統和它的哪個版本?字符串處理是相當供應商和產品特定的... – 2010-06-28 08:47:03
MySQL 2005?你的意思是MySQL(這是編號版本4,5,6)或者你的意思是Microsoft SQL Server(它有一個版本2005)..... – 2010-06-28 09:55:59