MST
星途 面试题库

面试题:SQLite类型亲缘性:复杂场景处理

在SQLite中,有一个表`data_table`,包含两列`col1`和`col2`,`col1`具有`TEXT`类型亲缘性,`col2`具有`REAL`类型亲缘性。现在需要编写一段SQL代码,实现从另一个表`source_table`中复制数据到`data_table`,同时要处理好数据类型转换,确保数据在新表中的存储符合类型亲缘性要求,假设`source_table`有对应的`source_col1`和`source_col2`列,数据类型可能与`data_table`中的不同,写出完整的SQL语句并解释关键步骤。
31.5万 热度难度
数据库SQLite

知识考点

AI 面试

面试题答案

一键面试
INSERT INTO data_table (col1, col2)
SELECT CAST(source_col1 AS TEXT) AS col1,
       CAST(source_col2 AS REAL) AS col2
FROM source_table;

关键步骤解释

  1. INSERT INTO data_table (col1, col2):指定要插入数据的目标表data_table以及目标列col1col2
  2. SELECT CAST(source_col1 AS TEXT) AS col1, CAST(source_col2 AS REAL) AS col2:从source_table中选择数据,并使用CAST函数进行数据类型转换。CAST(source_col1 AS TEXT)source_col1的数据转换为TEXT类型,CAST(source_col2 AS REAL)source_col2的数据转换为REAL类型,同时分别重命名为col1col2,确保与目标表的列名一致。
  3. FROM source_table:指定数据来源表为source_table