在 s3 select 查询中转义单引号
escape single quote in s3 select query
样本数据,存储在S3的一个文件中。
如您所见,我的数据格式是每行 json
{"first": "John", "last": "Smith"}
{"first": "Mary", "last": "O'Hara"}
{"first": "Mary", "last": "Oats"}
我最终的 objective 是按姓氏查询,并使用 like 运算符和用户提供的子字符串。所以我一步一步从易到难:
此查询有效并且 returns 所有行:
select s.* from s3object s
好!让我们继续。
我尝试的下一个查询有效 returns,正如预期的那样,John Smith
select s.* from s3object s where s."last" = 'Smith'
下一步是通过姓氏的子字符串进行尝试。让我们找出所有姓氏以 "O".
开头的人
select s.* from s3object s where s."last" like 'O%';
这有效,returns 我数据集中的两个玛丽。
下一步是行不通的。我想查找姓氏以 O 和撇号开头的所有用户。这是我无法工作的。我试过了:
select s.* from s3object s where s."last" like 'O'%'
select s.* from s3object s where s."last" like 'O\'%'
select s.* from s3object s where s."last" like "O'%"
None 其中有效。如何在 s3 select?
中的字符串文字中放置单引号 (')
你只需要使用两个单引号
SELECT *
FROM Test.testing
WHERE "last" = 'O''Hara';
尝试以下查询:
select s.* from s3object s where s."last" like 'O''%'
要转义单引号,您需要在它前面再指定一个单引号。
样本数据,存储在S3的一个文件中。 如您所见,我的数据格式是每行 json
{"first": "John", "last": "Smith"}
{"first": "Mary", "last": "O'Hara"}
{"first": "Mary", "last": "Oats"}
我最终的 objective 是按姓氏查询,并使用 like 运算符和用户提供的子字符串。所以我一步一步从易到难:
此查询有效并且 returns 所有行:
select s.* from s3object s
好!让我们继续。 我尝试的下一个查询有效 returns,正如预期的那样,John Smith
select s.* from s3object s where s."last" = 'Smith'
下一步是通过姓氏的子字符串进行尝试。让我们找出所有姓氏以 "O".
开头的人select s.* from s3object s where s."last" like 'O%';
这有效,returns 我数据集中的两个玛丽。
下一步是行不通的。我想查找姓氏以 O 和撇号开头的所有用户。这是我无法工作的。我试过了:
select s.* from s3object s where s."last" like 'O'%'
select s.* from s3object s where s."last" like 'O\'%'
select s.* from s3object s where s."last" like "O'%"
None 其中有效。如何在 s3 select?
中的字符串文字中放置单引号 (')你只需要使用两个单引号
SELECT *
FROM Test.testing
WHERE "last" = 'O''Hara';
尝试以下查询:
select s.* from s3object s where s."last" like 'O''%'
要转义单引号,您需要在它前面再指定一个单引号。