Concat 3列包括额外的字符串值

时间:2017-03-20 11:04:43

标签: sql-server

我有一个包含3个RGB值的表格,我需要一个将它们连接在一起的计算列。

我已尝试过以下内容,但它说错误。

我做错了什么?

&{1 ID Indonesia +62 no-data}
&{2 MY Malaysia +60 no-data}
2017/03/20 17:55:27 Show result:  [0xc8200ba410 0xc8200ba410]
2017/03/20 17:55:27 Show result JSON:  [91 123 125 44 123 125 93]

2 个答案:

答案 0 :(得分:2)

SQL Server中的字符串连接使用+,而不是&

'(' + RGB1 + ',' + RGB2 + ',' + RGB3 + ')'

但正如@PanagiotisKanavos所提到的,你也可以使用SQL Server的CONCAT()功能:

CONCAT('(', RGB1, ',', RGB2, ',', RGB3, ')')

此外,SQL中的字符串通常应使用单引号,而不是双引号,并且接受双引号,具体取决于数据库。

答案 1 :(得分:0)

你会这样做:

alter table t add computedcol as (RGB1 + ',' + RGB2 + ',' + RGB3);

或者,如果您希望括号作为值的一部分:

alter table t add computedcol as ( '(' + RGB1 + ',' + RGB2 + ',' + RGB3 + ')' );

您需要完整的alter tablecreate table声明。字符串分隔符是单引号,而不是双引号。字符串连接运算符为+