MySQL - 如果它以数字或特殊字符开头

Ben*_*ock 5 mysql select

SELECT * 
FROM `thread` 
WHERE forumid NOT IN (1,2,3) AND IF( LEFT( title, 1) = '#', 1, 0)
ORDER BY title ASC
Run Code Online (Sandbox Code Playgroud)

我有这个查询,如果它以#开头,将选择一些东西.我想要做的是,如果将#作为值给出,它将查找数字和特殊字符.或者任何不正常的信件.

我该怎么做?

Jos*_*vis 17

如果要选择"标题"不以字母开头的所有行,请使用REGEXP:

  SELECT * 
    FROM thread 
   WHERE forumid NOT IN (1,2,3)
     AND title NOT REGEXP '^[[:alpha:]]'
ORDER BY title ASC
Run Code Online (Sandbox Code Playgroud)
  • NOT表示"不"(显然;))
  • ^表示"以...开头"
  • [[:alpha:]]表示"仅限字母字符"

在MySQL的手册中找到有关REGEXP的更多信息.