You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SQL将原表中空lati、longi列的行复制到新表?

实现需求的SQL命令

要将原表中lati和longi字段均为空的记录保存到新表中,可根据使用的数据库类型选择以下方案:

核心逻辑

筛选出lati和longi为空的记录,将其插入到新表中。注意:SQL中空值用NULL表示,判断空值需用IS NULL而非等于符号。

方案一:先创建新表结构,再插入数据

假设原表名为original_table,新表名为empty_coords_table:

  1. 创建与原表结构一致的空新表:

    • MySQL:
      CREATE TABLE empty_coords_table LIKE original_table;
      
    • PostgreSQL:
      CREATE TABLE empty_coords_table AS SELECT * FROM original_table LIMIT 0;
      
    • SQL Server:
      SELECT TOP 0 * INTO empty_coords_table FROM original_table;
      
  2. 插入符合条件的记录:

    INSERT INTO empty_coords_table (id, name, lati, longi)
    SELECT id, name, lati, longi
    FROM original_table
    WHERE lati IS NULL AND longi IS NULL;
    

方案二:一步创建新表并插入数据

直接通过查询结果生成新表并填充数据,无需单独创建表结构:

  • MySQL:
    CREATE TABLE empty_coords_table AS
    SELECT id, name, lati, longi
    FROM original_table
    WHERE lati IS NULL AND longi IS NULL;
    
  • PostgreSQL/SQL Server:
    SELECT id, name, lati, longi
    INTO empty_coords_table
    FROM original_table
    WHERE lati IS NULL AND longi IS NULL;
    

特殊情况说明

如果原表中的“空”是指空字符串(而非NULL),则将WHERE条件修改为:

WHERE lati = '' AND longi = ''

内容的提问来源于stack exchange,提问作者Zembla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 07:25:33