Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заставить InterBase в SQL не ;чувствовать регистр букв [D6, IB6.x, Oracle]


ruslan_as ©   (2002-10-04 16:27:00) 

Выручайте! Как заставить в InterBase в SQL не чувствовать регистр букв.


evgeg   (2002-10-06 23:06:00) [1]

Можно свою UDF-ку сделать MyUpper


ruslan_as   (2002-10-05 17:37:00) [2]

Проблема не решилась.
select t.N_TOV
from TOVAR t
where upper (N_TOV) LIKE "%НАБОР%"
Находит товар "НАБОР" но не находит "Набор"

Установил Always capitalize database object names.
CHARACTER SET WIN1251 и COLLATE PXW_CYRL
ТИП ПОЛЯ VARCHAR


kerk   (2002-10-04 19:45:00) [3]

В IB Expert в свойствах алиаса можно поставить
Always capitalize database object names. Это сильно облегчает работу.


ruslan_as   (2002-10-04 19:39:00) [4]

Спасибо! Попробую создать заново. Пока не сильно увлекся.


Val   (2002-10-04 18:17:00) [5]

только лучше это при создании базы указать


kaif   (2002-10-04 18:09:00) [6]

Примечание:
Чтобы UPPER() в IB работало с русским текстом необходимо, чтобы строковые поля имели:
CHARACTER SET WIN1251
и
COLLATE PXW_CYRL


Val   (2002-10-04 17:52:00) [7]

приведите строку в запросе к верхнему или нижнему регистру.
select name from mytable
where UPPER("name") like "NO%"


ruslan_as   (2002-10-04 17:51:00) [8]

SQL в Experte тоже чувствует регистр. Как исправить?


ruslan_as   (2002-10-04 16:55:00) [9]

Таблицу делал через IB Expert. По умолчанию Диалект 1.
Делаю динамический запрос. Регистр чувствует.

if Edit1.Text<>"" then SQL_:=" and N_TOV LIKE "+chr(39)+"%"+Edit1.Text+"%"+chr(39);
if Edit2.Text<>"" then SQL_:=SQL_+" and N_TOV LIKE "+chr(39)+"%"+Edit2.Text+"%"+chr(39);
if Edit3.Text<>"" then SQL_:=SQL_+" and N_TOV LIKE "+chr(39)+"%"+Edit3.Text+"%"+chr(39);
if Edit4.Text<>"" then SQL_:=SQL_+" and KOD LIKE "+chr(39)+Edit4.Text+"%"+chr(39);
DM.IBQTovar.Close;
DM.IBQTovar.SQL.Clear;
DM.IBQTovar.SQL.Add("select * from TOVAR");
DM.IBQTovar.SQL.Add("where KOD=KOD"+SQL_);
DM.IBQTovar.Open;


Desdechado   (2002-10-04 16:32:00) [10]

для SQL-команд регистр не важен в диалекте 1.
в диалекте 3 тоже, исключая имена объектов БД (таблиц, полей и т.д.)


Наверх

Титульная страница Поиск, карта сайта Написать письмо