簡體   English   中英

什么是SQL Server中的Conc()等價物

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM