首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Server中用数字值连接不同的变量

在Server中用数字值连接不同的变量
EN

Stack Overflow用户
提问于 2019-08-05 21:10:55
回答 1查看 50关注 0票数 1

我有不同的变量与字符串值,我只是想连接成一个数字。

例如,我有以下变量:

代码语言:javascript
复制
pupil_id, class, term, id should result into Pupil_class_id
   23       8      3    23                         8323

我试过:

代码语言:javascript
复制
Select
    pupil_id, class, term, id,
    concat(class + term + id) as Pupil_class_id
from 
    school

我试过

代码语言:javascript
复制
concat(class, term, id) as Pupil_class_id
from school

我试过

代码语言:javascript
复制
concat('class', 'term' 'id') as Pupil_class_id
from school

我原以为解决方案1或2有效,但他们没有

有什么建议吗?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-06 04:50:54

使用逗号(,)作为分隔符并指定列名而不使用单引号的方法就是方法。我不知道你为什么说这对你不管用.

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

代码语言:javascript
复制
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

我得到了这个输出:

代码语言:javascript
复制
(No column name)
8323

如果我没听错那就是你要找的。

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

试试这个:

代码语言:javascript
复制
SELECT compatibility_level  
FROM sys.databases 
WHERE database_id = DB_ID()

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57366146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档