![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как поставить ИГНОРКЕЙС в запрос? [Файербёрд]
Urvin © (2005-05-04 17:24:00)Мне надо создать что-то такое...
В смысле это уже работаит:
SELECT CCLIENT,CPHONE,CSOURCE FROM CLIENTS WHERE CCLIENT="Ляляля"
Надо на этот Ляляля поставить игноркейс...
Типа, чтобы Если в базе есть запись "ЧМОПОГАНОЕ", а я ввел в запрос "чмопоганое", то запись все равно вывелась бы...
evvcom (2005-05-05 12:56:00) [1]
> а давай лучше возьмем аксесс? у которого в принципе все
> в одну команду. будеш мирится с вычислениями на каждой строке?
> или всетаки лучше помнить?
Да, тогда лучше помнить. Все зависит от сервера БД и можно долго дискутировать на тему "где и как". В [1] я навскидку написал имя нужной функции, и Мастера поехали глумиться. Не так летишь, не так свистишь. Хотя главное - направление было дано верно.
sniknik (2005-05-05 11:18:00) [2]> так вроде для MSSQL
т.е. добавить переменную и вычислить ее из параметра прежде чем использовать в запросе?
тогда уж
DECLARE @MyParam VarChar(50)
SET @MyParam = Upper(:MyParam)
и потом
... WHERE Upper(CCLIENT) = @MyParam + IDCLIENT
так да?
но извини твое пояснение это "финт ушами", ты "вывернулся" из под фаребирда который пакеты команд не позволяет в запросе (вроде бы, там вроде так только в процедурах можно, а не при посылке запроса про что вопрос (а не про процедуру))
и привел пример на MSSQL/Oracle которые это могут.
а давай лучше возьмем аксесс? у которого в принципе все в одну команду. будеш мирится с вычислениями на каждой строке? или всетаки лучше помнить?
p.s. но вообщето мне плевать что твои запросы будут чуть медленнее моих, так и написал "имхо" что означает "по моему мнению", которое вовсе не обязано совпадать с твоим.
evvcom (2005-05-05 09:22:00) [3]
> это запрос из ..., ищи аналогичную функцию (по действию)
> в firebird-е.
Согласен, поленился так разжевывать, надеясь на понимание.
> зачем вычислять параметр на сервере, не лучше ему уже в
> верхнем регистре значение дать?
Чем лучше? На сервере надежнее и делается в одном месте. А на клиенте придется делать каждый раз и помнить при каждом вызове, что серверная процедура чувствительна к регистру.
А если
> чтото вроде
> ... WHERE UpperCase(CCLIENT) = UpperCase(:MyParam)+IDCLIENT
то
:MyParam := Upper(:MyParam); -- для ORACLE или SELECT :MyParam = Upper(:MyParam) (так вроде для MSSQL)
а потом уже ... WHERE Upper(CCLIENT) = :MyParam + (или ||) IDCLIENT
sniknik (2005-05-05 09:03:00) [4]> У меня нет Файербёрд, поэтому я давал не ответ, а идею.
ну тогда пиши это, а то получается ввод в заблуждение... намеренный.
подписал бы в
evvcom © (04.05.05 17:31) [1]
еше
это запрос из ..., ищи аналогичную функцию (по действию) в firebird-е.
и все бы соответствовало...
и кстати даже с учетом функции, идея немного "подпорчена" (имхо)
> ... WHERE UpperCase(CCLIENT) = UpperCase(:MyParam)
зачем вычислять параметр на сервере, не лучше ему уже в верхнем регистре значение дать? и запрос
... WHERE UpperCase(CCLIENT) = :MyParam
сдесь то ладно, вычисление одноразовое, а понадобится сделать условие с параметром посложнее и начнет оно на каждую запись вычислятся... лишняя нагрузка.
чтото вроде
... WHERE UpperCase(CCLIENT) = UpperCase(:MyParam)+IDCLIENT
или
... WHERE UpperCase(CCLIENT) = UpperCase(:MyParam || IDCLIENT)
(не уверен что это тоже не "одноразовое", но смысл ;о)
Anatoly Podgoretsky (2005-05-05 08:57:00) [5]evvcom © (05.05.05 08:25) [10]
А что у тебя есть, чтобы ни было я уверен, что это UPPER
evvcom (2005-05-05 08:25:00) [6]
> Johnmen © (04.05.05 17:38) [3]
> Прикольно...
> Дан неверный ответ
У меня нет Файербёрд, поэтому я давал не ответ, а идею. А уж по хелпу вопрошающий мог бы и самостоятельно полазить в поисках аналогичной функции.
Anatoly Podgoretsky (2005-05-04 18:43:00) [7]Я тебя поцелую, если захочешь (с) Тетя
Johnmen (2005-05-04 17:56:00) [8]>Rule © (04.05.05 17:52) [7]
Ему достаточно внимательно почитать по указанной ссылке для полного решения своей текущей "проблемы".
Для остальных вопросов - естественно, найдет, если походит. Если захочет...:)
Rule (2005-05-04 17:52:00) [9]Johnmen © (04.05.05 17:43) [6]
хотел ответить, но присоединусю к ссылке, пусть человек походит, позаглядывает, и найдет ответы на очень многие вопросы (если захочет)
Johnmen (2005-05-04 17:43:00) [10]Тогда иди в фак на ibase.ru
http://www.ibase.ru/devinfo/ibrusfaq.htm
и далее везде...
Urvin (2005-05-04 17:42:00) [11]Лучше бы ответил...!
Urvin (2005-05-04 17:41:00) [12]Уже отпищал...
Унноун фанкшин 8(
Был бы хелп-не спрашивал...
Johnmen (2005-05-04 17:38:00) [13]Прикольно...
Дан неверный ответ. А автор, не удосужившись заглянуть в хелп (или просто попробовать), уже пищит от радости...:(
Urvin (2005-05-04 17:35:00) [14]Пасиба!
evvcom (2005-05-04 17:31:00) [15]... WHERE UpperCase(CCLIENT) = UpperCase(:MyParam)