2016-04-26 88 views
0

我有一個查詢,它從numbertable給number1,number2。以特定格式輸出SQL查詢結果

Select number1, number2 from numbertable where number2 in(1,2,3) 

結果給出:

number1 number2 
1  1 
2  2 

但我想在下面的格式結果:

(1,1) 
(2,2) 

我試着用下面的代碼,但我失去了一些東西

Select @number1 = number1, @number2 = @number2 from numbertable 
where number2 in(1,2,3) 
+2

我建議你應該之外格式化數據查詢。你得到原始數據,讓你的觀點,服務做格式化工作。 – richerlariviere

+0

我同意@richerlariviere。當你想要另一種格式的數據時會發生什麼?如果格式化邏輯被隱藏在查詢中,您將不得不重新提取格式化邏輯,解析當前格式或使用不同的輸出格式編寫單獨的查詢。 –

回答

6

SQL SERVER 2012+,您可以使用CONCAT

SELECT Concat('(', number1, ',', number2, ')') 
FROM numbertable 
WHERE number2 IN(1, 2, 3) 

否則你使用+來連接字符串

SELECT '(' + Cast(number1 AS VARCHAR(10)) + ',' + Cast(number2 AS VARCHAR(10)) + ')' 
FROM numbertable 
WHERE number2 IN(1, 2, 3) 

作爲一個方面說明,考慮在應用端做這個