我想从我的表中选择以下内容:
你好詹姆斯,你的地址是1路。
使用如下查询:
SELECT ('Hello ' + name + ', your address is ' + address) AS result FROM Users
Users
表有两个名为name
和address
的varchar(50)字段。这是否可以使用如上所述的简单的单行T-SQL?当我运行上面的查询时,它会返回 -1个受影响的记录。
答案 0 :(得分:2)
这取决于您使用的RDMBS,语法可能不同。以下是一些例子:
MySQL:SELECT CONCAT('Hello ',name) FROM USER
Oracle:SELECT 'Hello ' || name FROM USER
SQL Server:SELECT 'Hello' + name FROM USER
答案 1 :(得分:0)
<强>解决强>
为坏例子道歉 - 我正在使用的数据类型实际上是int
,这就是串联无法正常工作的原因 - 他们需要首先进行CAST(感谢@bluefeet)
所以这很有效:
SELECT ('Hello ' + CAST(name AS varchar) + ', your address is ' + CAST(address AS varchar)) AS result FROM Users