Я работаю с таблицей, в которой есть столбец NVARCHAR
ID и еще два столбца NVARCHAR
, которые имеют только десятичные значения, но я не могу изменять схему.
Используя CAST(FIELD AS DECIMAL(18,6))
, я могу выполнить необходимые вычисления для данных при запросе одного идентификатора, но я получаю ошибку преобразования при запросе 2 идентификаторов.
Рассмотрим два идентификатора, 'TEST1 'и AND TEST2', следующее будет работать нормально
SELECT ID, CAST(FIELD AS DECIMAL(18,6)) AS FOO
FROM MY_TABLE
WHERE ID = 'TEST1'
Это также будет работать нормально
SELECT ID, CAST(FIELD AS DECIMAL(18,6)) AS FOO
FROM MY_TABLE
WHERE ID = 'TEST2'
Это, однако, приведет к ошибке
Ошибка преобразования типа данных nvarchar в числовой
SELECT ID, CAST(FIELD AS DECIMAL(18,6)) AS FOO
FROM MY_TABLE
WHERE ID = 'TEST1' OR ID = 'TEST2'
Как мне справиться с этим?