2

我讨厌不得不发布这个问题,因为我确信这很容易,但我似乎无法在任何地方找到答案。我正在从两个表中提取数据,并希望在 ID 前面加上一个字母以指示它来自哪个表。例如

SELECT 'A' + ID as originID FROM theTable

但是我收到了错误

Conversion failed when converting the varchar value 'A' to data type int.

我认为这是因为“+”加号导致 SQL 尝试将两个值相加。我尝试了几种不同的方法,但得到了相同的结果,例如:

DECLARE @a VARCHAR(1) SET @a = 'A' "
SELECT @a & [ID] AS originID

在 PHP 中,我通常会使用“。” 用于连接,“+”用于加法。在 SQL 中是否有另一种连接字符串的方法?谢谢。

4

2 回答 2

7

利用CAST

SELECT 'A' + CAST(ID as VARCHAR(15))
FROM...
于 2013-01-03T09:13:07.623 回答
1

你也可以试试|| 用于连接。这应该工作:

SELECT 'A' || ID as originID FROM theTable
于 2013-01-03T09:51:28.943 回答