Я использую Sybase IQ и мне нужно преобразовать поле из строки в NUMERIC. Поле иногда содержит символы, отличные от цифр. В этих случаях я хочу, чтобы он возвращал 0 вместо того, чтобы вызывать исключения. Как это сделать?
Вы можете посмотреть на утверждения ниже, чтобы понять больше:
SELECT CONVERT(NUMERIC(10, 0), '');
SELECT CONVERT(NUMERIC(10, 0), '1');
SELECT CONVERT(NUMERIC(10, 0), 'a');
SELECT CONVERT(NUMERIC(10, 0), 'a1');
SELECT CONVERT(NUMERIC(10, 0), '1a');
Только первые 2 строки будут работать. Оставшиеся 3 строки вызовут исключения:
Cannot covert a to a NUMERIC(10, 0)(07006,-157)
Заранее спасибо!