Sql server 2012 在SQL Server中将不同的变量与数值连接起来

Sql server 2012 在SQL Server中将不同的变量与数值连接起来,sql-server-2012,Sql Server 2012,我有不同的变量和字符串值,我只是想把它们连接成一个数字 例如,我有以下变量: pupil_id, class, term, id should result into Pupil_class_id 23 8 3 23 8323 我试过: Select pupil_id, class, term, id, concat(class + term + id) as Pupil_class_id fro

我有不同的变量和字符串值,我只是想把它们连接成一个数字

例如,我有以下变量:

pupil_id, class, term, id should result into Pupil_class_id
   23       8      3    23                         8323
我试过:

Select
    pupil_id, class, term, id,
    concat(class + term + id) as Pupil_class_id
from 
    school
我试过了

concat(class, term, id) as Pupil_class_id
from school
concat('class', 'term' 'id') as Pupil_class_id
from school
我试过了

concat(class, term, id) as Pupil_class_id
from school
concat('class', 'term' 'id') as Pupil_class_id
from school
我本以为解决方案1或2是可行的,但它们没有

有什么建议吗


没有错误,但也没有结果,只有0

使用逗号(
)作为分隔符,并且指定不带单引号的列名的方法就是这样做的。我无法重现这方面的任何问题-不知道你为什么说这对你不起作用

试试这个(我使用的是SQL Server 2016,但从2012年起应该可以使用):

我得到这个输出:

(No column name)
8323
如果我理解正确的话,这就是你要找的

这可能不起作用的唯一原因是,如果您使用的是“旧”数据库,例如,如果您的数据库兼容级别设置为SQL Server的早期版本。此数据库是从以前版本的SQL Server“升级”的吗

试试这个:

SELECT compatibility_level  
FROM sys.databases 
WHERE database_id = DB_ID()

你得到了什么价值??SQL Server 2012应该是“110”-您有更低的值吗?

我不明白您的意思。您的意思是要将字符串“class”、“term”和“id”合并为“class\u term\u id”吗?还是想把几个数字变量压缩成一个字符串?还是怎样你能把你的问题弄清楚吗?我有:变量类,term,id class=8,term=3,id=23。我想得到一个新的变量:瞳孔,类,id 8323,本质上,是什么函数将变量相加来创建一个新变量?不是求和,而是将所有这些数字放在一个变量中