[英]What is the equivalent of Conc() in SQL Server
我正在将MS Access查询转换为SQL Server。
我碰到
SELECT
[R1EQ].CompanyId, [R1EQ].DateOnFile,
R1EQ.service_name,
Conc("DSPs", "ISPID", [ISPID], "R1EQ", "DateOnFile", [DateOnFile]) AS ColName
有人可以告诉我SQL Server中conc
函数的等效功能是什么吗?
似乎您正在寻找concat()
函数:
SELECT [R1EQ].CompanyId, [R1EQ].DateOnFile, R1EQ.service_name,
CONCAT('DSPs', 'ISPID', [ISPID], 'R1EQ', 'DateOnFile', DateOnFile) AS ColName
. . .
但是,这至少需要SQL Server 2012+,而您必须使用+
运算符
SELECT [R1EQ].CompanyId, [R1EQ].DateOnFile, R1EQ.service_name,
('DSPs'+'ISPID'+ CAST([ISPID] AS VARCHAR(255) +'R1EQ' +
'DateOnFile', CAST(DateOnFile AS VARCHAR(255)
) AS ColName
. . .
我们可以尝试在SQL Server中使用串联运算符:
SELECT
[R1EQ].CompanyId,
[R1EQ].DateOnFile,
R1EQ.service_name,
"DSPs" + "ISPID" + [ISPID] + "R1EQ" + "DateOnFile" + [DateOnFile] AS ColName
FROM yourTable;
CONC()
不是MS Access中的内置函数。 它可以做任何事情,但是网上引用表明它可以连接字符串。 请注意,它可能会做更多的事情,例如插入定界符。
等效的oepator SQL Server是+
,但是您需要非常小心。 所有参数都必须是字符串。 因此,您可能需要转换它们。 开始的地方是:
SELECT [R1EQ].CompanyId, [R1EQ].DateOnFile,
R1EQ.service_name,
('DSPs' + 'ISPID' + CONVERT(VARCHAR(255), ISPID), +
'R1EQ' + 'DateOnFile',
CONVERT(VARCHAR(2555), DateOnFile) -- you might want a format
) AS ColName
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.