fly*_*ire 3 select amazon-s3 amazon-web-services amazon-s3-select
示例数据,存储在 S3 中的文件中。正如你所看到的,我的数据格式是每行一个 json
{"first": "John", "last": "Smith"}
{"first": "Mary", "last": "O'Hara"}
{"first": "Mary", "last": "Oats"}
Run Code Online (Sandbox Code Playgroud)
我的最终目标是按姓氏进行查询,并使用 like 运算符和用户提供的子字符串。所以我一步步从易到难:
此查询有效并返回所有行:
select s.* from s3object s
Run Code Online (Sandbox Code Playgroud)
好的!我们继续吧。我尝试的下一个查询有效并返回,如预期的那样,John Smith
select s.* from s3object s where s."last" = 'Smith'
Run Code Online (Sandbox Code Playgroud)
下一步是尝试输入姓氏的子字符串。让我们查找姓氏以“O”开头的所有人员。
select s.* from s3object s where s."last" like 'O%';
Run Code Online (Sandbox Code Playgroud)
这有效并返回我的数据集中的两个玛丽。
下一步是行不通的一步。我想查找姓氏以 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'%"
Run Code Online (Sandbox Code Playgroud)
它们都不起作用。如何在 s3 select 中的字符串文字内添加单引号 (')?
您只需要使用两个单引号
SELECT *
FROM Test.testing
WHERE "last" = 'O''Hara';
Run Code Online (Sandbox Code Playgroud)