-
Делаю запрос: update series set series_temp = series_number. Тип поля series_temp - integer, series_number - char. При этом в некоторых записях series_number находятся данные, которые не могут быть преобразованы в integer. Естественно появляется сообщение об conversion error. Пока что придумалось решение 'в лоб': пробегаться кодом или хранимой процедурой в цикле по всем полям, проверять, возможно ли преобразование и если да - то делать его, если нет - заполнять новое поле значением 0.
Можно ли такое поведение выполнить запросом к базе данных? Без циклов в коде и в ХП?
-
несколько вложенных реплейсов к полю строки (по количеству возможных символов) с заменой на нулл плюс where результат не нулл
-
В SQL Server есть ISNUMERIC(), про FB не знаю.
-
а в парадоксе каст без эксепшена преобразует.
'123-а' -> 123
-
> а в парадоксе
Как назвали, так и работает.
-
А почему по всем полям, когда интересует только одно поле.
-
> или хранимой процедурой в цикле по всем полям, читать: в цикле по всем записям
Увы - ISNUMERIC нету. Чувствую, всё циклом в коде закончится.
-
> > Можно ли такое поведение выполнить запросом к базе данных? > Без циклов в коде и в ХП?
Use EXECUTE BLOCK!
|