Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Проблема выборки с таблицы / 8 сообщений из 8, страница 1 из 1
03.05.2007, 10:44
    #34501345
segoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
При выполнении Select * from "TTT" выводится полное содержимое таблицы, привыполнении Select * from "TTT" where w_n = '01' ничего не выводиться, хотя значение 01 в столбце есть. Вчём может быть проблема?
...
Рейтинг: 0 / 0
03.05.2007, 10:51
    #34501361
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
Какой тип данных имеет поле w_n?
...
Рейтинг: 0 / 0
03.05.2007, 10:57
    #34501386
segoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
VARCHAR
...
Рейтинг: 0 / 0
03.05.2007, 11:03
    #34501405
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
Попрробуйте:
Select * from "TTT" where TRIM(w_n) = '01'
...
Рейтинг: 0 / 0
03.05.2007, 11:04
    #34501410
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
LTRIM, RTRIM на крайний случай - LIKE.
...
Рейтинг: 0 / 0
03.05.2007, 13:50
    #34502130
RomanSavelyev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
segoffПри выполнении Select * from "TTT" выводится полное содержимое таблицы, привыполнении Select * from "TTT" where w_n = '01' ничего не выводиться, хотя значение 01 в столбце есть. Вчём может быть проблема?
Вероятнее всего, в БД находится w_n равный не '01', а '01 '

А '01' не равно '01 '

Обычно такое возникает при кривом заполнении из CHAR фиксированной длины
Ремонт -
Код: plaintext
1.
2.
3.
update "TTT" 
set w_n=trim(w_n)
where w_n<>trim(w_n)

Если данные не ваши, то запрос
Код: plaintext
Select * from "TTT" where trim(w_n) = '01'
А лучше
Код: plaintext
Select * from "TTT" where tw_n like '01%'
В таком случае возможно использование индекса по w_n, но '011' так же попадёт в выборку.
...
Рейтинг: 0 / 0
03.05.2007, 19:35
    #34503398
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
RomanSavelyevВероятнее всего, в БД находится w_n равный не '01', а '01 '

А '01' не равно '01 '

Нет.
Согласно доке ,
строки разной длины сравниваются так: более короткая добивается справа пробелами до длины более длинной, а потом уже строки сравниваются.
Попробуйте
Код: plaintext
values(case when '01'='01       ' then  1  else  0  end)
Скорее всего у автора лидирующие пробелы в базе.
Было бы неплохо, если б он привел результаты запроса с этими символами в поле w_n.
...
Рейтинг: 0 / 0
04.05.2007, 09:24
    #34503931
RomanSavelyev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема выборки с таблицы
Mark Barinstein[quot RomanSavelyev]Вероятнее всего, в БД находится w_n равный не '01', более короткая добивается справа пробелами до длины более длинной, а потом уже строки сравниваются.
Скорее всего у автора лидирующие пробелы в базе.

Да, именно так. Вы правы, я нет.
Спутал с другой СУБД.

Вероятно в поле лидирующие пробелы или что-нибудь непечатное.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Проблема выборки с таблицы / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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