Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2008, 10:36   #1
Pinya
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 37
По умолчанию BETWEEN и LIKE одним запросом

Здравствуйте.
Я осуществляю сортировку:
Код:
SELECT SDATE, FILENAME 
FROM Tabl 
WHERE SDATE BETWEEN (SDATE LIKE "% 15.06.2008 %") and (SDATE LIKE "%  16.06.2008%");
Вот это у меня не работает.
Вопрос такой: Как правильно применять BETWEEN и LIKE в комплексе?
Pinya вне форума Ответить с цитированием
Старый 18.08.2008, 12:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что за СУБД?
BETWEEN помоему по разному в разных СУБД пишется
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.08.2008, 13:09   #3
Pinya
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А что за СУБД?
BETWEEN помоему по разному в разных СУБД пишется
Access + Delphi

У меня не то что б Like не работает у мня вообще битвин не работает.
При запросе:
Код:
SELECT SDATE, FILENAME, NAME, Cultivation, sa FROM Tabl WHERE SDATE BETWEEN "04.05.2008" and "20.05.2008";
DBGrid выдает мне данные в диопазоне чисел от 04 до 20, а месяц не учитывает.
Т. е. При таком запросе может выдать и 07,06,2008
поле SDATE со значением текст
Pinya вне форума Ответить с цитированием
Старый 18.08.2008, 13:49   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты попробуй заменить BETWEEN на
Код:
WHERE SDATE > "04.05.2008" and SDATE<"20.05.2008";
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.08.2008, 15:48   #5
Pinya
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А ты попробуй заменить BETWEEN на
WHERE SDATE > "04.05.2008" and SDATE<"20.05.2008";
Попробовал.
Результат такой же. Даже может вывести 05.04.2008
Месяц совсем не учитывает. Только числа.
Pinya вне форума Ответить с цитированием
Старый 18.08.2008, 16:28   #6
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от Pinya Посмотреть сообщение
поле SDATE со значением текст
А конвертацию кто будет делать? Щас это для него не дата а строка!
Domovoy вне форума Ответить с цитированием
Старый 18.08.2008, 16:38   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А конвертацию кто будет делать?
Какую? ) Цитирую автора:
Цитата:
поле SDATE со значением текст
Тут надо тип поля поменять.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.08.2008, 17:06   #8
Pinya
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 37
По умолчанию

Поставил SDATE тип дата\время.
Теперь выдает ошибку:'Hecooтвeтcтвиe типoв дaнныx в выpaжeнии ycлoвия oтбopa'
Код:
SELECT SDATE, FILENAME, NAME, Cultivation, sa FROM Tabl WHERE SDATE BETWEEN "04.05.2008" and "20.05.2008";
Pinya вне форума Ответить с цитированием
Старый 18.08.2008, 18:26   #9
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Какую? )
какую неть простую )
что то вроде
where cast(sdate as datetime) between ...
Domovoy вне форума Ответить с цитированием
Старый 19.08.2008, 11:30   #10
Pinya
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 37
По умолчанию

Всем спасибо. Вопрос решен.
На будующее всем кто захочет в дельфи с датой работать, то это делается так:
Form1.ADOQuery2.SQL.Text:= 'SELECT ODATE, SDATE, FILENAME, NAME, Cultivation, SA FROM Tabl WHERE ODATE > #14-05-2008# and ODATE < #20-06-2008#';
А LIKE работает только с текстом с датой этот оператор не применим!
Pinya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часть фона одним цветом а другая часть другим (без таблиц). Lanselot HTML и CSS 4 25.04.2008 18:41
Проблема с SQL Запросом Worms БД в Delphi 7 13.01.2008 23:09
Вход под одним пользователем Mihael Безопасность, Шифрование 3 21.11.2007 12:14
Проблемы с одним клиентом и множеством серверов Maxxon Работа с сетью в Delphi 5 28.08.2007 17:27
Изменение инициативы при перекрывании одним изображением другого itisiam Общие вопросы Delphi 4 11.05.2007 23:33