【发布时间】:2017-11-14 14:06:11
【问题描述】:
我将如何运行以下查询,就像我再次运行 mysql 一样:
SELECT * FROM [integrated-myth-15.testing_data_100k]
WHERE title='down in la'
现在,如果我有一个完美的区分大小写的字符串匹配,它将匹配,但是对于“down in la”,我将如何做到不区分大小写?我正在通过 Web 控制台工作。
【问题讨论】:
标签: google-bigquery
我将如何运行以下查询,就像我再次运行 mysql 一样:
SELECT * FROM [integrated-myth-15.testing_data_100k]
WHERE title='down in la'
现在,如果我有一个完美的区分大小写的字符串匹配,它将匹配,但是对于“down in la”,我将如何做到不区分大小写?我正在通过 Web 控制台工作。
【问题讨论】:
标签: google-bigquery
执行此操作的标准方法是在输入字符串上使用LOWER 或UPPER,例如:
#legacySQL
SELECT * FROM [integrated-myth-15.testing_data_100k]
WHERE LOWER(title) = 'down in la';
或者:
#standardSQL
SELECT * FROM `integrated-myth-15.testing_data_100k`
WHERE LOWER(title) = 'down in la';
【讨论】:
最好的方法是在查询末尾附加“IGNORE CASE”。
SELECT * FROM [integrated-myth-15.testing_data_100k] WHERE title='down in la' IGNORE CASE
注意:这仅适用于旧版 SQL
如官方documentations所说:
字符串函数对字符串数据进行操作。字符串常量必须用单引号或双引号括起来。默认情况下,字符串函数区分大小写。您可以将 IGNORE CASE 附加到查询的末尾以启用不区分大小写的匹配。 IGNORE CASE 仅适用于 ASCII 字符并且仅适用于查询的顶层。
【讨论】: