Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / (DB2) Не могу выполнить запрос / 8 сообщений из 8, страница 1 из 1
21.12.2008, 19:51
    #35726689
1010100021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
В самом DB2 (Центр Управления) пытаюсь выполнить команду:
Код: plaintext
1.
SELECT * FROM DB2ADMIN.TABLE1 WHERE 'ГАБ%' LIKE FAM

Пишет что:
"SQL0132N Неверный предикат LIKE или скалярная функция POSSTR - первый операнд не является строчным выражением или второй операнд не является строкой."

Поле FAM 100% строка. Почему ошибка? Спасибо
...
Рейтинг: 0 / 0
21.12.2008, 19:59
    #35726696
1010100021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
а нормально, LIKE FAM поменять надо было на FAM LIKE 'ГАБ%'

А еще интересно, можно ли ускорить выборку, что надо например создать чтоб данные отбирались быстрее. Я собираюсь часто использовать LIKE в запросе, а записей много, хотелось бы ускорить.
...
Рейтинг: 0 / 0
21.12.2008, 20:06
    #35726704
1010100021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
И еще один момент. Как например получить данные такого характера:

1. Находим значение, например номер "030000"
2. Начиная с этой найденной записи отослать клиенту 49 следующих записей т.е 1 найденную и еще 49 следующих записей.
...
Рейтинг: 0 / 0
21.12.2008, 23:27
    #35726839
Hunterik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
Ну как спрашиваете, так и отвечаем. =)

select something from anything where keyfield > (select keyfield from anything where condition) order by keyfield fetch first 49 rows only
...
Рейтинг: 0 / 0
22.12.2008, 01:49
    #35726912
ARIST_A
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
1010100021
А еще интересно, можно ли ускорить выборку, что надо например создать чтоб данные отбирались быстрее. Я собираюсь часто использовать LIKE в запросе, а записей много, хотелось бы ускорить.
Много - это сколько записей и каков размер этих записей. Case-sensitive или case-insensitive search использовать собираетесь?
...
Рейтинг: 0 / 0
22.12.2008, 01:50
    #35726913
ARIST_A
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
1010100021И еще один момент. Как например получить данные такого характера:

1. Находим значение, например номер "030000"
2. Начиная с этой найденной записи отослать клиенту 49 следующих записей т.е 1 найденную и еще 49 следующих записей.
ну добавьте к селекту сортировку по необходимому полю и сделайте и в конце припишите к запросу FETCH FIRST 50 ROWS ONLY
...
Рейтинг: 0 / 0
22.12.2008, 22:14
    #35728947
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
HunterikНу как спрашиваете, так и отвечаем. =)

select something from anything where keyfield > (select keyfield from anything where condition) order by keyfield fetch first 49 rows only

Ну не советовал бы так делать.
Чтобы получить хороший план запроса лучше использовать переменную - параметр, при этом можно будет даже указать селективность. И в этом случае, лучше юзать статический SQL.
...
Рейтинг: 0 / 0
23.12.2008, 23:30
    #35731202
1010100021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(DB2) Не могу выполнить запрос
Спасибо всем за отклики :)
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / (DB2) Не могу выполнить запрос / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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