Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

Как включить/выключить регистровую зависимость в запросе?   Найти похожие ветки 

 
big_bugzy   (2004-07-06 05:26) [0]

ситуация следующая: есть две таблицы, соедененные по уникальному значению.
Это значение символьное. Символы могут быть самые разные.
Запрос типа
Select *
From Table1 Inner Join Table2 on Table1.Un_Id = Table2.Un_Id
работает не корректно, потому что
к примеру значение Un_Id = "Mt" и Un_Id="MT" воспринимаются одинаково, т.е. не учитывается регистр. Как заставить учитываться регистр букв?


 
Ozone ©   (2004-07-06 05:50) [1]


SELECT UPPER(T1.Un_Id), UPPER(T2.Un_Id)
FROM T1 INNER JOIN T2 ON T1.Un_Id = T2.Un_Id


 
big_bugzy   (2004-07-06 05:54) [2]

2Ozone ©  
нужно как раз наоборот
регистр нужно учитывать с UPPER ом регистр вообще не учтется


 
Ozone ©   (2004-07-06 06:08) [3]

Извини, прочитал не внимательно.
НО, SQL изначально учитывает регистр, ИМХО.


 
big_bugzy   (2004-07-06 06:13) [4]

несовсем, при установке можно настроить SQL чтобы он учитывал или не учитывал регистр. В мойм случае сервер регистр не учитывает, из-за этого возникла проблема...


 
Ozone ©   (2004-07-06 06:14) [5]

Тады не знаю... мож мастера чего скажут.


 
bushmen ©   (2004-07-06 09:12) [6]

> big_bugzy   (06.07.04 06:13) [4]

Поменяй коллейшн в таблице на этих ключевых полях на CS


 
Ega23 ©   (2004-07-06 09:36) [7]

Поменяй коллейшн в таблице на этих ключевых полях на CS

Это непосредственно в запросе можно сделать.


 
Курдль ©   (2004-07-06 09:51) [8]


> ситуация следующая: есть две таблицы, соедененные по уникальному
> значению.
> Это значение символьное. Символы могут быть самые разные.

И кому ТАКОЕ пришло в голову?
Пусть извинят меня завсегдатаи, но я снова попрошу перевести фразу на язык СУБД.
1. "Есть таблицы, имеющие отношение между собой по символьному внешнему ключу"
2. "Есть запрос, в котором требуется выбрать данные из 2-х таблиц методом соединения по уникальному полю.

Так вот. В том и другом случае Вам надо полагаться на принцип уникальности символьного поля, принятого СУБД. Если СУБД не обращает внимания на регистр, значит и запрос должен не учитывать.
Но мой совет - старайтесь избегать символьных ключей и индексов.


 
bushmen ©   (2004-07-06 10:01) [9]

> Это непосредственно в запросе можно сделать

Можно, но т.к. эти поля у него ключевые, то в запросах скорее всего они будут часто встречаться. А каждый раз писать длинные строки - это, на мой взгляд не удобно.


 
Ega23 ©   (2004-07-06 10:26) [10]

Можно, но т.к. эти поля у него ключевые, то в запросах скорее всего они будут часто встречаться. А каждый раз писать длинные строки - это, на мой взгляд не удобно.

Тоже верно. А вообще-то Курдль прав на все 100.


 
bushmen ©   (2004-07-06 10:28) [11]

> А вообще-то Курдль прав на все 100

Это точно


 
sniknik ©   (2004-07-06 10:32) [12]

проверь
Select *
From Table1 Inner Join Table2 on CAST(Table1.Un_Id AS Binary(2)) = CAST(Table2.Un_Id  AS Binary(2))


 
big_bugzy   (2004-07-06 11:43) [13]

Всем спасибо, сори за задержку, базу с символьными идентификаторами не я придумал, я ее только перегоняю в другую базу. Вариант с binary не проходит, оно все равно группируется так же как и раньше, т.е. без учета регистра символов. С колейтами пока не пробовал, убегаю уже... Где их изменять тоже не нашел...
Всем спасибо


 
sniknik ©   (2004-07-06 12:00) [14]

> оно все равно группируется так же как и раньше
ну вообщето не должно, т.к. "Mt" = 4D 74 а "MT" = 4D 54


 
Fay ©   (2004-07-06 12:24) [15]

2big_bugzy   (06.07.04 05:26)
Верный ответ в [4]. Не извращайся.
Удачи.



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

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.038 c
14-1089823533
GanibalLector
2004-07-14 20:45
2004.08.01
Цены на авиабилеты и все такое...


8-1084424185
PleaseHelpME
2004-05-13 08:56
2004.08.01
Background у Formы


3-1089103372
MakNik
2004-07-06 12:42
2004.08.01
ADOQuery


3-1089367754
SOS
2004-07-09 14:09
2004.08.01
проблемка з запросом


1-1089707283
Shc
2004-07-13 12:28
2004.08.01
Как сделать инспектор объектов?