在我的数据表中,我有以下字段纬度值 -
20.235412,20.125412,null,mg road 542365,20.236541,null,ahemdabad 254156,
根据上面的值,我想要第一个、第二个和第五个,所以我尝试了这个查询 -
SELECT com_name,lat,lng,alias FROM company_details WHERE lat IS NOT NULL AND TRIM(lat) <> '' AND IsNumeric(lat) = 1
还有这个
SELECT com_name,lat,lng,alias FROM company_details WHERE lat IS NOT NULL AND TRIM(lat) <> '' AND not lat like '%[^0-9]%'
但它不起作用。请帮助我。
最佳答案
看看REGEXP功能-
SELECT '20.235412' REGEXP '^[0-9]+[.]{1}[0-9]+$';
=> 1
SELECT 'mg road 542365' REGEXP '^[0-9]+[.]{1}[0-9]+$';
=> 0
所以,尝试这样的事情 -
SELECT
com_name, lat, lng, alias
FROM
company_details
WHERE lat REGEXP '^[0-9]+[.]{1}[0-9]+$';
关于mysql - 如何仅选择列中具有 float 且不为空的记录(MYSQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32515768/