以特定格式输出SQL查询结果
问题描述:
我有一个查询,它从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)
答
在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)
作为一个方面说明,考虑在应用端做这个
我建议你应该之外格式化数据查询。你得到原始数据,让你的观点,服务做格式化工作。 – richerlariviere
我同意@richerlariviere。当你想要另一种格式的数据时会发生什么?如果格式化逻辑被隐藏在查询中,您将不得不重新提取格式化逻辑,解析当前格式或使用不同的输出格式编写单独的查询。 –