16

如何在 Google 表格的 SQL 查询中转义撇号?

这是我的功能:

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", "XXXXXX!A1:C"),"SELECT * WHERE Col2 = 'Woman's blabla: blablabla'"),"SELECT Col1, Col2")

我尝试添加另一个撇号:

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", "XXXXXX!A1:C"),"SELECT * WHERE Col2 = 'Woman''s blabla: blablabla'"),"SELECT Col1, Col2")

没有运气..我试过放一个反斜杠,也没有运气:

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", "XXXXXX!A1:C"),"SELECT * WHERE Col2 = 'Woman/'s blabla: blablabla'"),"SELECT Col1, Col2")

编辑:文档的语言环境是英国。

4

4 回答 4

18

尝试在带有撇号的单词周围使用双引号

"SELECT * WHERE Col2 = ""Woman's blabla: blablabla"""
于 2016-01-25T14:09:39.013 回答
9

如果您要匹配的字符串在一个单元格中,请尝试将单元格名称括起来,""""如下所示:

=QUERY(Foo!A:B,"select A where B = " & """" & A1 & """" & "")

于 2017-02-28T10:54:18.390 回答
1

尝试通过函数替换源数据中的双引号,您可能需要换掉我添加的一些引号 - 我不知道您搜索的文本在源数据中的实际样子:

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", SUBSTITUTE("XXXXXX!A1:C","""","'")),"SELECT * WHERE Col2 = 'Woman's blabla: blablabla'"),"SELECT Col1, Col2")

编辑:

于 2016-01-25T21:00:20.457 回答
1

尝试生成类似的输出SELECT * WHERE Col2 = "Woman's blabla: blablabla"似乎是一个有效的解决方案。但是,如前所述,使用反斜杠转义字符\不适用于 Google 表格。

在寻找解决方法时,我遇到了这个链接。它建议使用char(34)代替双引号,这对我来说是可行的解决方案。

因此,你可以写

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", "XXXXXX!A1:C"),"SELECT * WHERE Col2 = " & char(34) & "Woman's blabla: blablabla" & char(34)),"SELECT Col1, Col2")

于 2020-09-27T16:56:46.513 回答