我被安排了即将到来的测试作业,我需要在一个充满电影细节的数据库中搜索带有标点符号的片名。
我唯一的想法是用MySQL的in运算符查找其中带有特定标点符号的名称。
SELECT title
FROM `movies`
WHERE title LIKE "%.%" OR title LIKE "%" [- and so on]
或者另一种方式:
SELECT title
FROM `movies`
WHERE title IN (., %) [- and so on]
但是,它在逻辑上是不正确的。当我筛选“.”/dot character/时,它也会返回带有“I”的标题。
你能帮帮我吗?提前谢谢!
查找具有一个或多个标点符号的所有标题的一种通用方法是使用regexp
和模式[[:punct:]]
:
SELECT title
FROM movies
WHERE title REGEXP '[[:punct:]]';