如何在 SQL 服务器中连接

How to concatenate in SQL Server

我的数据库没有特定的列,所以我通过开关在查询中创建了一个列。我需要的是将此列与数据库中的另一列连接起来:

select 
    certificateDuration ,
   'DurationType' = case
                      when certificateDurationType = 0 then 'Day' 
                      when certificateDurationType = 1 then 'Month'
                      when certificateDurationType = 2 then 'Year'
                    end
from 
    Scientific_Certification

要在 SQL 服务器中连接字符串,您只需使用 + operator.
请注意,如果其中一个子字符串为空,则整个串联字符串也将变为空。因此,如果您需要一个结果,即使一个子字符串为空,也请使用 COALESCE

select certificateDuration,
       ' DurationType = '+ 
       COALESCE(case
                     when certificateDurationType = 0 then 'Day' 
                     when certificateDurationType = 1 then 'Month'
                     when certificateDurationType = 2 then 'Year'
                     end, '') As DurationType 
from Scientific_Certification

注意: 我在你的 case 子句中使用了 coalesce,因为你没有默认行为(由 else 指定)。这意味着如果 certificateDurationType 不是 0、1 或 2,则 case 语句将 return null.

您只需要尝试 + 运算符或 CONCAT 函数

  1. + 所有 SQL 服务器版本

    DurationType = ' + 'some text'
    
  2. CONCAT 对于 SQL Server 2012 +

    CONCAT('DurationType = ', 'some text')
    

您的查询应该是这样的

SELECT certificateDuration
       ,'DurationType = ' + 
       CASE certificateDurationType
           WHEN 0 THEN 'Day'
           WHEN 1 THEN 'Month'
           WHEN 2 THEN 'Year'
       END
FROM Scientific_Certification

您必须尝试这个 SQL 查询来联系列。在这里,我将用户 table 的三列命名为 (name_first、name_middle、name_last),并将结果放入一个名为 FULLNAME.

的列中

这是结果的图像