Google表格查询语言:转义撇号

时间:2016-01-25 11:55:44

标签: google-sheets formulas google-query-language

如何在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 个答案:

答案 0 :(得分:8)

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

“SELECT * WHERE Col2 =”“女人的blabla:blablabla”“”

答案 1 :(得分:2)

如果您要匹配的字符串位于单元格中,请尝试使用""""围绕单元格名称,如下所示:

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

答案 2 :(得分:1)

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

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

编辑:

答案 3 :(得分:1)

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

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

因此,您可以写

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