【问题标题】:Insert into with select statement where value is not null插入其中值不为空的带有选择语句
【发布时间】:2020-07-09 06:24:19
【问题描述】:

我想根据 SQL Server 中另一个表的 select 语句执行插入操作。

我已经建立了这个:

INSERT INTO Table1
SELECT  table2.var1, table2.var2, 1, GETDATE(), 1, GETDATE(),0
FROM    table2

Table1中的值都是NOT NULL,并且table2.var2中有几条记录有一个空值,我想跳过Null继续操作。

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    您可以在WHERE 子句中过滤table2.var2 为空的行。

    INSERT INTO table1
                (<list of target columns>)
                SELECT table2.var1,
                       table2.var2,
                       1,
                       getdate(),
                       1,
                       getdate(),
                       0
                       FROM table2
                       WHERE table2.var2 IS NOT NULL;
    

    您还应该在任何 INSERT 中显式列出目标列,以便在目标表中列的数量或顺序发生变化时语句不会中断。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多