Вот пример запроса:
DECLARE @table table (loc varchar(10))
INSERT INTO @table VALUES
('134a'), ('123'), ('abc'), ('124')
SELECT *
FROM (
SELECT * FROM @table WHERE ISNUMERIC(loc) = 1
) as a
WHERE CAST(loc as INT) BETWEEN 100 AND 200
Если у меня есть некоторые значения varchar, и я ограничиваю их числовыми значениями, используя ISNUMERIC
в производной таблице в запросе, почему это приводит к ошибке преобразования?:
Преобразование не удалось при преобразовании значения varchar '134a' в тип данных int.
Есть ли способ обойти это?