0

In my data table I have following values for field lat are-

20.235412,20.125412,null,mg road 542365,20.236541,null,ahemdabad 254156,

From above values I want 1st, 2nd and 5th so I tried this query-

SELECT com_name,lat,lng,alias FROM company_details WHERE lat IS NOT NULL AND TRIM(lat) <> '' AND IsNumeric(lat) = 1

and this

SELECT com_name,lat,lng,alias FROM company_details WHERE lat IS NOT NULL AND TRIM(lat) <> '' AND not lat like '%[^0-9]%'

but it's not working. Please help me.

RN Kushwaha
  • 2,081
  • 3
  • 29
  • 40
Divyesh Jesadiya
  • 1,105
  • 4
  • 30
  • 68
  • 1
    possible duplicate of [Detect if value is number in MySQL](http://stackoverflow.com/questions/5064977/detect-if-value-is-number-in-mysql) – Phil Sep 11 '15 at 05:08

1 Answers1

2

Have a look at REGEXP function -

SELECT '20.235412' REGEXP '^[0-9]+[.]{1}[0-9]+$';
=> 1

SELECT 'mg road 542365' REGEXP '^[0-9]+[.]{1}[0-9]+$';
=> 0

So, try something like this -

SELECT
  com_name, lat, lng, alias
FROM
  company_details
WHERE lat REGEXP '^[0-9]+[.]{1}[0-9]+$';
Devart
  • 119,203
  • 23
  • 166
  • 186