我有不同的变量与字符串值,我只是想连接成一个数字。
例如,我有以下变量:
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我原以为解决方案1或2有效,但他们没有
有什么建议吗?
没有错误,但也没有结果,只是0
发布于 2019-08-06 04:50:54
使用逗号(,)作为分隔符并指定列名而不使用单引号的方法就是方法。我不知道你为什么说这对你不管用.
试试这个(我使用的是Server 2016,但从2012年起就可以了):
DECLARE @Input TABLE (pupil_id INT, class INT, term INT, id INT)
INSERT INTO @Input (pupil_id, class, term, id)
VALUES (23, 8, 3, 23)
SELECT
CONCAT(class, term, id)
FROM
@Input我得到了这个输出:
(No column name)
8323如果我没听错那就是你要找的。
这可能不起作用的唯一原因是如果您使用的是“旧”数据库,例如,如果您的数据库兼容性级别设置为Server的早期版本。此数据库是否已从以前版本的Server“升级”?
试试这个:
SELECT compatibility_level
FROM sys.databases
WHERE database_id = DB_ID()你得到了什么价值??Server 2012应该是"110“-您有较低的值吗?
https://stackoverflow.com/questions/57366146
复制相似问题