Mysql之SQL经验基础积累

过滤掉包含非数字字符的行

-- 前提:针对text类型或Varchar类型的字段操作
select  * from  user where phone_number  is not null  AND  phone_num  REGEXP '[^0-9]' = 0

注意:

  1、mysql中常量true输出为1 false输出为0

  2、如果字符串中有空格,也会匹配到正则表达式,返回1。如果是要去掉两端的空格,就要将判断的字符串,就要对字符串使用 trim()函数了。

根据create_time排序,如何确保null值的排在最前面

解决办法:

SELECT  create_time  FROM  tab_XXXX  order by if(isnull(a.create_time),0,1), a.create_time DESC

结果如下图:

原文地址:https://www.cnblogs.com/outpointexception/p/10787347.html