【问题标题】:Concatenate and inserting in table连接并插入表格
【发布时间】:2014-11-20 20:28:14
【问题描述】:

我的数据库中有一张表,我的表中有 4 列 NAME_1 NAME_2 LASTNAME_1 LASTNAME_2

现在我要再添加一列“FULL NAME”,我想连接 NAME_1 NAME_2 LASTNAME_1 AND LASTNAME_2 并插入 FULL_NAME。

我该怎么做?

NAME_1      NAME_2     LASTNAME_1    LASTNAME_2     
-------------------------------------------------
ALISON     NULL      LAWRENCE      NULL         
CARLOS     NULL      LOPEZ         RECINOS       
MEL        ANDREA    CHEW          PHELPS     



NAME1      NAME2     LASTNAME1    LASTNAME2     FULL_NAME     
----------------------------------------------------------------------
ALISON     NULL      LAWRENCE      NULL        ALISON LAWRENCE    
CARLOS     NULL      LOPEZ         RECINOS    CARLOS LOPEZ RECINOS   
MEL        ANDREA    CHEW          PHELPS     MEL ANDREA CHEW PHELPS   

【问题讨论】:

  • 您应该将其设为计算列而不是持久列。请参阅 RADAR 中的代码,但将其用作计算列的值。如果您将数据保存在自己的列中,您的值将始终过时。

标签: sql-server insert concatenation rows


【解决方案1】:

您可以使用 ISNULL 和连接运算符 + 并设置值

UPDATE Table1
SET  FULL_NAME = ISNULL(NAME_1,'') + 
                 ISNULL(NAME_2,'') + 
                 ISNULL(LASTNAME_1,'') + 
                 ISNULL(LASTNAME_2,'')

【讨论】:

  • @CarlosZaiyan,如果有帮助,您可以接受答案。
  • 这绝对是代码方面的正确方法,但我建议 OP 将其设为计算列。这样您就不会复制数据并且它始终是最新的。
  • @Sean Lange,你是对的,这是正确的做法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 2021-09-02
相关资源
最近更新 更多