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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.006 c
1-59765
Ptr
2003-05-06 12:31
2003.05.19
Совместимость WinXP - Win98


8-59817
Sterh
2003-02-07 21:25
2003.05.19
MP3


1-59687
ODINUS
2003-05-07 16:33
2003.05.19
Gif в Delphi 7


3-59617
dtm
2003-04-28 19:11
2003.05.19
Суммирование количества записей в QReport


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