通过 sql developer 导入 csv 时,单引号被转换为 2 个单引号
Posted
技术标签:
【中文标题】通过 sql developer 导入 csv 时,单引号被转换为 2 个单引号【英文标题】:single quote gets converted to 2 single quotes while importing csv via sql developer 【发布时间】:2017-09-27 17:05:20 【问题描述】:我正在通过 sql developer 导入一个 csv 文件。我有一列可以有多个逗号和单引号值。因此,为了逃避它,我将列数据用双引号括起来,例如 csv 文件中的"column_value"
。但是,在导入时 data 中的单引号被 2 个单引号替换。
例如,如果数据类似于test,a'b'c
,则在导入 csv 后列中的数据变为test,a''b''c
。这里可能有什么问题?
更新:我找到了一种解决方法,在 sql developer import 的最后阶段有一个复选框"send to SQL worksheet"
。在选择此选项并单击导入插入脚本时生成。在单独运行这些插入脚本时,数据被正确插入
【问题讨论】:
你的意思是INSERT INTO
SELECT * FROM target_table
之后的网格中的脚本还是值?
没有问题 - 如果您将在表格中插入值,单引号必须按照您的说明进行转义。当它们被插入时,每个双引号变成一个单引号。
@lad2025: 我的意思是 select sql 显示双引号
请显示输入数据和输出数据的示例
@CyrilleMODIANO 问题描述有例子
【参考方案1】:
我找到了一种解决方法,在 sql developer import 的最后阶段有一个复选框send to SQL worksheet
。在选择此选项并单击导入插入脚本时生成。在单独运行这些插入脚本时,数据被正确插入
【讨论】:
以上是关于通过 sql developer 导入 csv 时,单引号被转换为 2 个单引号的主要内容,如果未能解决你的问题,请参考以下文章
通过 phpmyadmin 导入 csv 或 sql 并跳过 PK?
Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,最后一位会被置为0