Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Исключить ошибку при конвертации в ХП / 4 сообщений из 4, страница 1 из 1
14.03.2014, 08:51:06
    #38585865
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить ошибку при конвертации в ХП
Добрый день!
У меня в ХП выполняется такой код:
Код: plsql
1.
2.
  UPDATE import_zay SET COD_TV = CAST(substring(ID FROM 1 FOR 6) AS integer),
  COD_IZ = CAST(substring(ID FROM 7 FOR 6) AS integer);



Иногда в поле ID попадают символы-буквы. Соответственно моя ХП дает ошибку.
Сам я думаю либо ловить исключения (не умею пока это делать) или перед этим апдейтом удалить строки с неверными данными (но как определить что в строке не только цифры?)
Может кто поправит ход моих мыслей.
...
Рейтинг: 0 / 0
14.03.2014, 10:13:57
    #38585934
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить ошибку при конвертации в ХП
Leshgan,

Определить, цифры ли там, можно двумя способами.
1. Посимвольно сравнить с '0123456789'
2. CAST(AS INTEGER) и поймать исключение

Второй быстрее, насколько я помню.

P.S. Можно ещё почитать о регулярных выражениях, но тут уж от версии сервера зависит.
...
Рейтинг: 0 / 0
14.03.2014, 11:38:52
    #38586047
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить ошибку при конвертации в ХП
WildSery,
спасибо. Пользуясь случаем обновился до 2.5 и заюзал SIMILAR TO
...
Рейтинг: 0 / 0
14.03.2014, 12:42:49
    #38586155
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключить ошибку при конвертации в ХП
WildSeryОпределить, цифры ли там, можно двумя способами.
Но правильнее будет нормализовать БД и сделать ID числовым. Тогда туда никакой мусор
попадать не будет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Исключить ошибку при конвертации в ХП / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]