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

Вниз

Уважаемые, подскажите почему запрос вида   Найти похожие ветки 

 
twist   (2003-04-28 03:14) [0]

select * from table1 where f1 = "7418523" возвращает значения, а
select * from table1 where f1 LIKE "7418523" нет???
второй запрос возвращает знаения только в случае
f1 LIKE "7418523%". Почему?


 
АлексейК   (2003-04-28 04:21) [1]

Тип поля?


 
twist   (2003-04-28 07:45) [2]

to АлексейК Char(20)


 
BoxTer   (2003-04-28 07:57) [3]

синтаксис LIKE
%искомый_кусок_строкового_типа%
где:
% - вместо него могет быть подставлено ЛЮБОЕ количество произвольных символов,
_ - заменит 1 символ строки,
[] - вместо символов строки будет подставлен 1 из возможных, указанных в ограничителях,
[^] - то же самое, но КРОМЕ указанных в ограничителях
а насчет твоего случая, я не знаю насчет IB6, но если провести аналогию с SQL Server тип Char(20) - в твоем случае 7 символов, а оставшиеся 13 заполняются пробелами, и в БД он выглядит так: "7418523 ", следовательно "железный" LIKE без символов заменителей (%) не катит, потому-что остатки строки - пробелы (а они не являются "пустотой"), а работает LIKE "7418523%" - символ-заменитель замещает пробелы.
В таких случаях (и, практически, во всех остальных) я использую varchar(20) - здеся остатки не заменяются пробелами...


 
Sergey Masloff   (2003-04-28 08:03) [4]

>я не знаю насчет IB6, но если провести аналогию с SQL Server >тип Char(20) - в твоем случае 7 символов, а оставшиеся 13 >заполняются пробелами, и в БД он выглядит >так: "7418523 ",
именно так. Это вообще стандарт SQL, насчет того что Char(n) пробелами дополняется.


 
twist   (2003-04-28 09:58) [5]

всем спасибо!


 
AlexSerp   (2003-04-28 11:41) [6]

Очень странно, но в IB6 LIKE должен был запрос сработать.
Никаких заполнений пробелами не присутствует.
У меня стоит WI-V6.0.1.0.
Подобный запрос срабатывает нормально.


 
Sergey Masloff   (2003-04-28 12:25) [7]

AlexSerp ©
>Очень странно, но в IB6 LIKE должен был запрос сработать.
>Никаких заполнений пробелами не присутствует.
>У меня стоит WI-V6.0.1.0.
>Подобный запрос срабатывает нормально.
Компоненты доступа какие? И не стоит ли у них в свойствах дополнение Char пробелами? ;-)


 
Карелин Артем   (2003-04-28 14:03) [8]

>Очень странно, но в IB6 LIKE должен был запрос сработать.
А он срабатывает, если тип данных VarChar.


 
AlexSerp   (2003-04-28 17:01) [9]

2 Sergey Masloff
Пардон, не внимателен.
Впрочем, я всегда использую всего пять типов данных

DATE
VARCHAR
DOUBLE PRECISION
INTEGER
BLOB

И пока проблем не имел.


 
kaif   (2003-04-28 21:18) [10]

Проблема, очевидно, именно в типе данных CHAR. Попробуй
select * from table1 where f1 LIKE "7418523 "


 
twist   (2003-04-29 03:41) [11]

Точно, с типом VarChar запрос с Like работает нормально!
еще раз всем спасибо!



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

Форум: "Базы";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
7-59960
bgormakov
2003-03-21 21:40
2003.05.19
Пароли.


7-59971
Yrek
2003-03-21 14:38
2003.05.19
Как узнать, какие файлы


4-60003
Step[B.M.]
2003-03-01 12:42
2003.05.19
Как из моей проги запустить другой exe-шник, да еще с параметрами


3-59537
snake1977
2003-04-25 16:07
2003.05.19
SQL запрос


14-59898
JibSkeart
2003-04-27 12:56
2003.05.19
Круто У нас Метель была я в шоке :о)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский