sql - 在 REDSHIFT SQL 中转义单引号

标签 sql escaping amazon-redshift sql-insert single-quotes

我有很多包含单引号的字符串值,我需要将它们插入到 REDSHIFT 表中的列中。
我同时使用 /''' 来转义 INSERT 语句中的单引号。

例如

INSERT INTO table_Temp
    VALUES ('1234', 'O\'Niel'), ('3456', 'O\'Brien')

我也使用了 '' 而不是\' 但它一直给我错误“VALUES 列表必须具有相同长度”,即没有:每个记录的参数> 2。

你能告诉我如何解决这个问题吗?

最佳答案

SQL 中的标准是双单引号:

INSERT INTO table_Temp (col1, col2)  -- include the column names
    VALUES ('1234', 'O''Niel'), ('3456', 'O''Brien');

您还应该包括与插入的值对应的列名。这可能是您的第二个错误的原因。

关于sql - 在 REDSHIFT SQL 中转义单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000322/

相关文章:

mysql - 在 MySQL 中创建事件不起作用

python - 在 Python 中读写大量数据

python - 如何正确地对重音进行 url 编码?

amazon-web-services - 将数据(增量)加载到 Amazon Redshift、S3 与 DynamoDB 与插入

amazon-redshift - 使用 Redshift Spectrum 读取 AWS Redshift 外部表中的数据

sql - 滞后函数获取最后一个不同的值(redshift)

mysql - 通过 MySQL SELECT 控制一组数据

sql - 涉及 SQL 时使用 Amazon EC2 自动缩放

c - 以 '\' 开头并后跟数字(例如 '\234')的字符是什么意思?

postgresql - PSQL异常 : ERROR: syntax error in tsquery