tags:

views:

29

answers:

2

How to get valid value from the following query

SELECT Answer FROM table 
WHERE values LIKE '%[^0-9]%'

Basically I want the data can deal for

  1. 28,000 (valid)
  2. $20000 (valid)
  3. Annual Amount (invalid)
  4. ? (invalid)
  5. 28.00 (valid)

Thanks

+1  A: 

you could do something like:

select replace(replace(values, '$', ''), ',', '') as number from table
  where dbo.RegexMatch(values, ^\$?(\d+|(\d{1,3}(,\d{3})+))(\.\d+)?$')

tweak the regex to match any conditions you need...

jspcal
+1  A: 
SELECT Answer
FROM table
WHERE 
    ISNUMERIC(values)
    OR (
        SUBSTRING(values, 1, 1) = '$' 
        AND ISNUMERIC(RIGHT(values, LEN(values) - 1)))
Jacob