![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Select -обыкновенный (с like и upper) [D7]
worldmen © (2006-09-06 11:02:00)Есть простой select типа:
select c.id as zip, c.name
from customer c,
account a, и др.
where c.id=a.customer_id
....
And upper(c.name) like upper('%айс%')
При этом выводит только поле name с такой строкой: Байструк Віталій Дмитрович
Т.е. нашел 'айс' только 'Б айструк'
Делаю выбор только по одной таблице:
select upper(c.name), c.name from customer c
where upper(c.name) like upper('%айс%')
Так сделал для проверки работы upper, выводит правильные данные:
| UPPER(C.NAME) | NAME
---------------------------------------------------------------
|БАЙСТРУК ВІТАЛІЙ ДМИТРОВИЧ | Байструк Віталій Дмитрович
|ТОВ ВКП "АЙС" | ТОВ ВКП "Айс"
Какая пожет быть ошибка?
ANB (2006-09-06 11:47:00) [1]
> Да его и без аппера маска '%айс%' отрубит.
Зато 'айс%' не отрубит.
> c.name containing 'айс'
это оракл не кушает
Lexer (2006-09-06 11:41:00) [2]почти оффтоп
а не проще ли вместо:
upper(c.name) like upper('%айс%')
использовать
c.name containing 'айс'
evvcom (2006-09-06 11:25:00) [3]> [4] ANB © (06.09.06 11:20)
Да его и без аппера маска '%айс%' отрубит.
ANB (2006-09-06 11:20:00) [4]И индекс лучше функциональный повесить. Иначе upper(поле) его отрубает.
evvcom (2006-09-06 11:12:00) [5]Дык, у тебя на этого тов вкп "айс" аккаунта значит нет или еще чего в этих
> account a, и др.
И еще
> like upper('%айс%')
нафига лишний раз функцию вызывать для того, что есть константа? Хорошо, если оптимизатор умный, а если нет? Напиши простоlike '%АЙС%'
worldmen (2006-09-06 11:07:00) [6]Уже нашел. Проблема в связях.
stud (2006-09-06 11:05:00) [7]worldmen © (06.09.06 11:02)
При этом выводит только поле name с такой строкой: Байструк Віталій Дмитрович
а что еще должен выводить?
очевидно другие условия отсекают данные