第一步:保证所有phone_number只有数字和 -

    SELECT id,name,phone_number, REPLACE(phone_number,'-','') AS nw

    FROM contacts

    WHERE REPLACE(phone_number,'-','') REGEXP '^[0-9]+$'

第二步

SELECT id,name,phone_number

FROM (

    SELECT id,name,phone_number, REPLACE(phone_number,'-','') AS nw

    FROM contacts

    WHERE REPLACE(phone_number,'-','') REGEXP '^[0-9]+$'

) a

WHERE (LENGTH(phone_number) = 10 OR phone_number LIKE '___-___-____')

    AND phone_number NOT LIKE '0%'