Запрос на обработку действительного числа - PullRequest
1 голос
/ 10 января 2010

Как получить действительное значение из следующего запроса

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

По сути, я хочу, чтобы данные могли иметь дело с

  1. 28 000 (действительным)
  2. $ 20000действительный)
  3. Годовая сумма (недействительный)
  4. ?(недействительный)
  5. 28,00 (действительный)

Спасибо

Ответы [ 2 ]

1 голос
/ 10 января 2010
SELECT Answer
FROM table
WHERE 
    ISNUMERIC(values)
    OR (
        SUBSTRING(values, 1, 1) = '$' 
        AND ISNUMERIC(RIGHT(values, LEN(values) - 1)))
1 голос
/ 10 января 2010

вы можете сделать что-то вроде:

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

настроить регулярное выражение для соответствия любым необходимым условиям ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...