MySQL select 包含 \ 的字符串 - 字符串是 IN () 的一部分
MySQL select string with \ in it - string is part of IN ()
从 MySQL 数据库中,我试图 select 一个包含两次 \
的列。 \
包围文本。它出现在我尝试使用 IN ()
.
搜索的术语列表中的一个术语中
这是我要编写的查询:
SELECT
q.pk_id,
q.test_temp,
q.financ_course,
q.etc_id
FROM quckdbase q
WHERE q.display IN ('Martin','Google test document.',"\'Margaret course economics\'.");
如您所见,WHERE
子句中的 最后一项是问题的根源 。对于这个术语,数据库中的确切条目是
\'Margaret course economics\'.
条目末尾有一个句点 .
。
此查询的作用:
如果列 display
包含与 Martin
、Google test document.
、\'Margaret course economics\.'
.[=24= 中的任何一个匹配的条目,则它 select 是 4 列中的值]
有没有办法在 IN ()
中包含第三个搜索词,以便它可以与其他 2 个词同时搜索?
在文字字符串值中,用另一个反斜杠字符转义反斜杠。此外,单引号可以通过在其前面加上另一个单引号来转义。
要"match"字符串,你可以这样做:
WHERE q.display IN ('\''Margaret course economics\''.')
第一个反斜杠是 "escape",第二个反斜杠被解释为文字反斜杠字符。字符串文字中的两个单引号被解释为文字单引号。
为了测试,确认这个文字返回的值:
SELECT '\''Margaret course economics\''.' AS val
从 MySQL 数据库中,我试图 select 一个包含两次 \
的列。 \
包围文本。它出现在我尝试使用 IN ()
.
这是我要编写的查询:
SELECT
q.pk_id,
q.test_temp,
q.financ_course,
q.etc_id
FROM quckdbase q
WHERE q.display IN ('Martin','Google test document.',"\'Margaret course economics\'.");
如您所见,WHERE
子句中的 最后一项是问题的根源 。对于这个术语,数据库中的确切条目是
\'Margaret course economics\'.
条目末尾有一个句点 .
。
此查询的作用:
如果列 display
包含与 Martin
、Google test document.
、\'Margaret course economics\.'
.[=24= 中的任何一个匹配的条目,则它 select 是 4 列中的值]
有没有办法在 IN ()
中包含第三个搜索词,以便它可以与其他 2 个词同时搜索?
在文字字符串值中,用另一个反斜杠字符转义反斜杠。此外,单引号可以通过在其前面加上另一个单引号来转义。
要"match"字符串,你可以这样做:
WHERE q.display IN ('\''Margaret course economics\''.')
第一个反斜杠是 "escape",第二个反斜杠被解释为文字反斜杠字符。字符串文字中的两个单引号被解释为文字单引号。
为了测试,确认这个文字返回的值:
SELECT '\''Margaret course economics\''.' AS val