Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запросы SQL в dBase, помогите разобраться с тем, как писать 
:(
    Опции темы
takedo
Дата 20.7.2005, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: нет
Всего: 3



Уважаемые программисты!
Не могу никак додуматься сам о том, как же мне вытащить из базы данных типа dBase IV данные по условию! smile
В базе есть поле POLE__0 - тип DATE. Хочется вытащить строки, удовлетворяющие дата в которых была бы больше некоторого значения. Пишу так:
1) SELECT * FROM db_te1 WHERE POLE__0 > '07-17-05' - несоответствие типов данных в условии отбора
2) SELECT * FROM db_te1 WHERE {fn CONVERT(SQL_VARCHAR,POLE__0,110)} > '07-17-05' - ошибка синтаксиса (пропущен оператор) в выражении запроса '>'07-17-05'

Ну как же написать-то??? помогите!!! smile smile smile smile smile smile smile



--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
ArnoldLane
Дата 20.7.2005, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.6.2005

Репутация: нет
Всего: нет



В винде дату можно представлять дату как угодно, и так - дд.мм.гг, и так - дд-мм-гг, но BDE подразумевает, что разделителем между днями, неделями и годами, должна быть точка.
По крайней мере с таким запросом хлопот возникнуть не должно:
Код

select * from db_te1 where pole_0>'07.17.05'

Возможноя я и не прав, или чего-то не понимаю. В любом случае зачем плодить проблемы на ровном месте. По-моему не трудно перед вставкой в условие запроса преобразовать строку '07-17-05' в строку '07.17.05'.
PM MAIL   Вверх
Guest
Дата 22.7.2005, 12:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











"Слишком мало параметров. Требуется 1." - выдается вот это smile smile smile smile smile smile smile
  Вверх
Coocky
Дата 7.9.2005, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: нет
Всего: 62



Темы нужно создавать в соответсвующих разделах!
Тема перенесена


Это сообщение отредактировал(а) Coocky - 7.9.2005, 16:52


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Cashey
Дата 7.9.2005, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



Надо поставить оператор перевода из формата строки в формат Даты (например ctod() в фоксе или strtodate в паскале)


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Dimchik
Дата 24.10.2005, 04:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.11.2004

Репутация: нет
Всего: нет



Цитата(takedo @ 20.7.2005, 14:49)

1) SELECT * FROM db_te1 WHERE POLE__0 > '07-17-05' - несоответствие типов данных в условии отбора
2) SELECT * FROM db_te1 WHERE {fn CONVERT(SQL_VARCHAR,POLE__0,110)} > '07-17-05' - ошибка синтаксиса (пропущен оператор) в выражении запроса '>'07-17-05'


если под DOS то условие такое WHERE POLE__0 > {мм.дд.год(типа2005)}
если под VFP7 то условие такое WHERE POLE__0 > {^год(типа2005).mm.dd}

PM MAIL   Вверх
Cashey
Дата 24.10.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



Цитата(Dimchik @ 24.10.2005, 04:38)
если под DOS то условие такое WHERE POLE__0 > {мм.дд.год(типа2005)}
если под VFP7 то условие такое WHERE POLE__0 > {^год(типа2005).mm.dd}

Это будет зависить от выставленного формата даты. Как я понял присоединение к базе идет не через Фокс, а через какой-то драйвер


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.0764 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.