SELECT title FROM tags WHERE title REGEXP '[\x20]'
返回所有带有 x、2 或 0 的事物;
SELECT title FROM tags WHERE title REGEXP '\x20'
返回字面上 x20 的所有东西
我的实际用例是我想搜索任何可能意外进入控制字符的标签。
可能有更好的方法来做到这一点,但这是我想出的:
SELECT title FROM tags WHERE title REGEXP CONCAT('[',CHAR(1),'-',CHAR(31),']')
请注意,这些是十进制字符值,而不是十六进制。我也想不出办法让它找到 NULL 字节(\x00
)。
这是使用十六进制文字的替代方法:
SELECT title FROM tags WHERE title REGEXP CONCAT('[', x'01', '-', x'1F', ']')
我相信您在 mysql shell 中执行此操作,它会自行删除反斜杠。以下对我有用:
select id, data regexp '\\x1F\\x8B\\x08' from ...;