IsNumeric позволяет использовать ниже специальных символов
`SELECT ISNUMERIC('10.50') as '10.50'
ISNUMERIC('10,50') as '10,50'
,ISNUMERIC('-') as '-'
,ISNUMERIC('+') as '+'
,ISNUMERIC('$') as '$'
,ISNUMERIC('.') as '.'
,ISNUMERIC(',') as ','
,ISNUMERIC('\') as '\'`
Итак, я хотел использовать RegEx https: // regexr.com/4gjhm для проверки моего числа, которое должно содержать только цифры и точки.
Пробовал Regex ^ [0-9] + [.] {0,1} [0-9] * $ с помощью PATINDEX
, но не получил ожидаемых результатов
`DECLARE @Amount As NVARCHAR(50) = '150';
SELECT CASE
WHEN @Amount LIKE '%^[0-9]+[.]{0,1}[0-9]*$%'
THEN 1
ELSE 0
END AS IsNumericResult`
Действ. Например: 10, 10.01, .20
Недопустимый пример: 10.50.20, 10..20 и т. Д.
Этого можно достичь с помощью LIKE
или PATINDEX
в SQL Server 2017?