MySQL判断某个数字或者字段是不是数字有两种方法,如下:

  1. 使用正则表达式(查询结果为1表示true,为0表示false)

    通过判断是否包含数字以外的字符,来判断值是否为纯数字
    SELECT '1234' REGEXP '[^0-9]'
    查询结果为0,表示1234不包含数字以为的字符,所以1234为纯数字

    SELECT 'ssss1234' REGEXP '[^0-9]
    查询结果为1,表示ssss1234包含数字以外的字符,所以ssss1234不是纯数字

  2. 使用LENGTH函数判断

    SELECT LENGTH(0+'123') = LENGTH('123') FROM DUAL
    查询结果为 1,纯数字

    SELECT LENGTH(0+'12ab3c') = LENGTH('12ab3c') FROM DUAL
    查询结果为0,不是纯数字

    SELECT LENGTH(0+'ssss1234') = LENGTH('ssss1234') FROM DUAL
    查询结果为0,不是纯数字

FYI

Logo

更多推荐