Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по SQL   Найти похожие ветки 

 
Neo ©   (2008-01-28 13:56) [0]

Товарищи, как сделать запрос  SELECT то-то FROM того-то WHERE то-то нечувствитеьным к регистру?


 
Palladin ©   (2008-01-28 13:58) [1]

чего-то like того-то


 
tomkat   (2008-01-28 13:59) [2]

запрос вообще-то и так не чествителен к регистру
SELECT то-то FROM того-то WHERE  =
select
...
from
....
where
.....


 
tomkat   (2008-01-28 14:01) [3]

если ты имел ввиду, что не чуствительным к регистру значения ПАРАМЕТРОВ
то так и скажи :-)


 
Sergey13 ©   (2008-01-28 14:01) [4]

> [0] Neo ©   (28.01.08 13:56)

Надо сделать инъекцию, переводящую и то и это к одному регистру.


 
homm ©   (2008-01-28 14:05) [5]

> [4] Sergey13 ©   (28.01.08 14:01)
> Надо сделать инъекцию,

Может лучше сделать коньюкцию? %)


 
Neo ©   (2008-01-28 14:09) [6]

нет, в том то и дело что чувствителен - запрос типа "SELECT COUNT(*) FROM "+TabName+" WHERE "+Request+" = ADUM14" и такой же самый только в конце пишем скажем Adum14, дают разные результаты, которые правильны оба, поскольку в базе встречается и так и так пишут - и верхним и нижним регистром... вот и я хочу сдлать чтобы было нечувствительно к регистру. Оператор же LIKE находит похожее, но все равно учитывает регистр - уже проверил.


 
tomkat   (2008-01-28 14:12) [7]

where upper(Request)=upper("ADUM14")
а вообще-то нада запрос с параметрами использовать
where upper(Request)=upper(:param)


 
Sergey13 ©   (2008-01-28 14:13) [8]

> [5] homm ©   (28.01.08 14:05)

Лишь бы не фрикцию или фелляцию. 8-)


 
Neo ©   (2008-01-28 14:27) [9]

> tomkat   (28.01.08 14:12) [7]
> where upper(Request)=upper("ADUM14")

Это же просто приводит к тому, что ищется в верхнем регистре и все... а мне нужно чтобы искало и в нижнем и в верхнем и комбинированно,т.е. чтобы, скажем, запросы adum14, ADUM14 и Adum14 воспринимались одиннаково.


 
tomkat   (2008-01-28 14:29) [10]


> Это же просто приводит к тому, что ищется в верхнем регистре
> и все

!!!! дак у тебя ВСЕ значения поля приводятся к верхнему регистру ! ВСЕ !!!
и ты сравниваеш с образцом тоже в верхнем регистре ...


 
Palladin ©   (2008-01-28 14:29) [11]

в сад


 
Neo ©   (2008-01-28 14:37) [12]

Товрищи, прога делается для бухов, у бухов там в полный финиш в смысле этих чертовых регистров.


> !!!! дак у тебя ВСЕ значения поля приводятся к верхнему
> регистру ! ВСЕ !!!
> и ты сравниваеш с образцом тоже в верхнем регистре ...


может оно итак, но только если брать запрос adum14, то будет искаться количество именно adum14. а надо чтобы все вместе - и adum14 и ADUM14 и Adum14.


 
tomkat   (2008-01-28 14:46) [13]

ты не вериш ?
ты попробуй !
вот как думаеш, что вернет функция UPPER(adum14) ? а UPPER(Adum14) ?


 
Neo ©   (2008-01-28 15:03) [14]


> вот как думаеш, что вернет функция UPPER(adum14) ? а UPPER(Adum14)
> ?


Конечно возвращает то, что должна возвращать - то же самое что при запросе ADUM14. т.е. это ф-ия уравнивает запросы adum14, Adum14 и ADUM14 единственно к верхнему регистру, т.е. к ADUM14. А вот если искать как раньше - получается что при запросах Adum14 и adum14 результаты иные, чем когда использовать UPPER...


 
Anatoly Podgoretsky ©   (2008-01-28 15:04) [15]

> Neo  (28.01.2008 14:37:12)  [12]

Чукча не читатель.


 
tomkat   (2008-01-28 15:05) [16]


> А вот если искать как раньше

так не нада :-)


 
homm ©   (2008-01-28 15:14) [17]

> [14] Neo ©   (28.01.08 15:03)

Подними руки чуть выше туловища, начни сводить их вместе. Вскоре на их пути встретится некий шарообразный волосатый предмет. Это башка. В ней находится мозг. Попробуй использовать его при очередном фтыкании в одну единственную строчку кода из [7].

Помимо указанного способа можно еше указать формат регистронечувствительный для полей, по котрым производится поиск, или использовать функцию, специально-оговоренно-регистро-нечувствительную. Все зависит от возможностей твоего SQL сервера.


 
altatr ©   (2008-01-28 17:09) [18]

В моей программе работает так (компонент Query) может подойдет...

          SQL.Add("SELECT NAME"); // по каким полям будем делать выборку
          SQL.Add("FROM ":AUTOBASE:voditeli.dbf""); // в какой базе данных и таблице будем искать
          SQL.Add("WHERE");
          SQL.Add("(UPPER (NAME)= ""+ f +"")") // сравниваем поле NAME с переменной f

Переменной f присвоить значение какогонибудь EDITa у которого в свойстве CharCase  проставить ecUpperCase. Или самому писать все заглавными буквами. Какими будут буквы в поле NAME - всеравно. Программа будет видеть их все заглавными.


 
Amoeba ©   (2008-01-28 17:28) [19]


> Neo ©   (28.01.08 15:03) [14]
>
>
> > вот как думаеш, что вернет функция UPPER(adum14) ? а UPPER(Adum14)
> > ?
>
>
> Конечно возвращает то, что должна возвращать - то же самое
> что при запросе ADUM14. т.е. это ф-ия уравнивает запросы
> adum14, Adum14 и ADUM14 единственно к верхнему регистру,
>  т.е. к ADUM14. А вот если искать как раньше - получается
> что при запросах Adum14 и adum14 результаты иные, чем когда
> использовать UPPER...

Надо же быть таким дубом после того как тебе неоднократно все разжевали и в рот положили.


 
ketmar ©   (2008-01-28 17:34) [20]

>[17] homm ©(28.01.08 15:14)
>Это башка. В ней находится мозг.
оптимист.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.207 c
15-1201017444
sauron
2008-01-22 18:57
2008.02.24
BIOS?


3-1192033329
3Lander
2007-10-10 20:22
2008.02.24
Можно ли как-нить изменить цвет отдельной ячейки в DBGride?


2-1201790459
DDR2
2008-01-31 17:40
2008.02.24
Как получить значение поля Edit в обозревателе Internet Explorer


15-1200719316
max
2008-01-19 08:08
2008.02.24
TASM32 v5.0


15-1201089725
Petr V. Abramov
2008-01-23 15:02
2008.02.24
вот ведь народ настырный :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский