如何在SET中的一个中合并两列数据

时间:2019-06-17 04:33:14

标签: sql-server concat

我需要合并两列。我尝试如下,

SET NOCOUNT ON;
declare @sql nvarchar(200)

SET @sql =
'SELECT UserId,CONCAT(CONVERT([varchar](50) ,DECRYPTBYKEY(FirstName)),CONVERT([varchar](50),DECRYPTBYKEY(LastName))) AS [Userfullname]  from [user] WHERE  FkSupervisor in ('
+ @selectedSupervisorIds
+ ') AND IsActive = 1'

EXECUTE Sp_executesql
  @sql 

这很好,但是输出如下,

UserId  Userfullname
10397   jhonewal
10422   funnyman
10428   Zeroowl

如何在名字和姓氏之间添加空格?

预期的输出

UserId  Userfullname
10397   jhone wal
10422   funny man
10428   Zero owl

2 个答案:

答案 0 :(得分:1)

CONCAT最多可串联254个参数。只需将空格作为额外的参数添加到您希望添加的位置:

SET @sql =
'SELECT UserId, CONCAT(CONVERT([varchar](50), DECRYPTBYKEY(FirstName)), '' '', CONVERT([varchar](50), DECRYPTBYKEY(LastName))) AS [Userfullname]  from [user] WHERE  FkSupervisor in ('
+ @selectedSupervisorIds
+ ') AND IsActive = 1'

EXECUTE Sp_executesql
   @sql 

答案 1 :(得分:1)

您也可以在firstName和lastName之间添加空格,而无需使用java -version 函数。 请检查以下查询:

CONCAT