powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Получить алфавит...
7 сообщений из 7, страница 1 из 1
Получить алфавит...
    #32371518
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем надо вот, что:
Имеется некоторый столбец: clmn (varchar 8) в нем хранятся номера - это могут быть только цифры, цифры+буквы, только буквы. Требуется преобразовать столбец в число. Типа вот так:

select INTEGER(clmn)
from MyTable
where clmn not like any(select буква алфавита from откуда можно взять?)

это - как я себе это представляю. Если есть другой вариант - с радостью выслушаю. Спасибо.
...
Рейтинг: 0 / 0
Получить алфавит...
    #32371525
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) мне аж самому смешно стало, когда посмотрел что запостил. Но в целом суть отражает, если не обращать внимания на синтаксис.
...
Рейтинг: 0 / 0
Получить алфавит...
    #32371715
mike_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще можно написать пользовательскую скалярную пользовательскую функцию, которая будет говорить, число это или нет.
...
Рейтинг: 0 / 0
Получить алфавит...
    #32371717
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, черт с ним с алфавитом. Почему здесь вылетает ошибка преобразования:
Код: plaintext
1.
2.
3.
4.
select count(*)
from (select * from MyTable where number not like '%/%') AS T1  /*теперь поле number содержит только числа - это я ниже покажу*/ 
 ,YourTable as T2
where INTEGER(T1.number)=INTEGER(T2.number)


а вот здесь ошибка не вылетает:
Код: plaintext
1.
2.
3.
select integer(number)
from MyTable
where number not like '%/%'


Почему?
...
Рейтинг: 0 / 0
Получить алфавит...
    #32371729
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не путать: T2.number точно преобразуется в число. Так что ексепшн вылетает не здесь.
...
Рейтинг: 0 / 0
Получить алфавит...
    #32372185
mike_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Попробуй
select count(*)
from (select INTEGER(number) AS number from MyTable
where number not like '%/%') AS T1
,YourTable as T2
where T1.number=INTEGER(T2.number)
2. Проверь INTEGER(T2.number)
...
Рейтинг: 0 / 0
Получить алфавит...
    #32372672
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу ты черт. Действительно в Т2.number - не все записи преобразуются в число. В заблуждение меня ввело то, что в Navigator'e запрос select * from T2 where integer(T2.number)<>0 обрабатывался без ошибок. Оказывается, что он получает не все записи сразу, а порциями. Так вот те порции, которые он мне показывал (вернее, которые я просмотрел) - были правильными, с точки зрения запроса. Если прокрутить запрос дальше - то там и выскакивал эксепшн. Ладно, спасибо за ответ.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Получить алфавит...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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