Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно написать дату в запросе? [D5, dBase, FoxPro]


Страницы:   1 2 3

coba ©   (2003-02-07 15:58:00) 

Уважаемые мастреа, как правильно в SQL запросе написать дату??
просто
Select *
From Table
WHERE date="01.01.2003" не проходит, говорит тип не соответствует... как строку перевести в DateTime?
Динамически в запрос подставлять ничего не нужно...


sniknik   (2003-02-07 21:32:00) [1]

трабла с тобой, если у всех работает а у тебя нет, и единственное что от тебя слышиш "не работает" без всяких подробностей (может уже доперло? работает, но не признаешся по причине дебильности ошибки?).

хотя если действительно ради прикола ....


coba   (2003-02-07 19:37:00) [2]

Anatoly Podgoretsky © ,AM
Поле типа DATE

кроме как datetime ничего признавать не хочет, сама (как в MSSQL) в datetime не конвертирут, короче бог с ней... я уже забил почти на траблу...


Anatoly Podgoretsky   (2003-02-07 19:34:00) [3]

А может у тебя вообще поле не типа Date, ты смотрел в Database Desktop?

И давай точное сообщение об ошибке, а вроде бы мало подходит.
Ответственнее надо относиться к вопросу в форуме или ты просто, чтобы посмеяться?


AM   (2003-02-07 19:22:00) [4]

Я честно говоря не знаю какие типы полей есть у dBase, но например у MSSQL есть типы полей связанные с датой:
1)datetime
2)smalldatetime
ну и еще есть там
3)timestamp (но это не в счет)

Если у dBase тоже есть такие типы, попробуй поварьируй измени тип поля у таблицы (предварительно конечно зарезервируй БД).
Просто все что тебе посоветовали, хоть один должен прокатить.


coba   (2003-02-07 19:07:00) [5]

sniknik ©
Я вроде сказал, говорит что тип не тот что нужен...


sniknik   (2003-02-07 18:52:00) [6]

а хотя бы что говорит, ошибку, мог привести?


coba   (2003-02-07 18:49:00) [7]

sniknik ©
Нет, я сперва попробовал по всякому, а потом на форум полез...
Простой стринг не проходит - говорит тип данных не тот, если поставить "01.01.2003" тоже не проходит...
проходит только если дату поставить в ее нормальном виде, т.е. к примеру 37561...


sniknik   (2003-02-07 18:42:00) [8]

и первым же ответом, был правильный

Danilka © (07.02.03 16:03)
попробуй вот так:
WHERE date="01.01.2003"

для локал SQL (BDE) еще раз повторюсь, для ADO + Jet или ODBC - VFoxpro - MSdBase - .... для когото может быть неправильно. (ADO это тоже не последний способ)

результат вместо конкретного описания, бессмысленная полемика. если у тебя Local SQL то и первый вариант прошол бы (ну может день и месяц поменял бы) и CAST работал бы.
Значит чтото другое, или обманываеш.


coba   (2003-02-07 18:27:00) [9]

sniknik ©
СУБД и версия дельфи указаны в названии топика...
Как правильно написать дату в запросе? [D5, dBase, FoxPro]


sniknik   (2003-02-07 18:20:00) [10]

ты что думаеш SQL он один на всех? наивный.
и дельфи подключается по разному и к разным драйверам. и в зависимости от драйвера/способа все может 1000 раз поменятся. а вот этой важной инфы ты не предоставил, в результате никакого результата.

где ты пишеш о своей СУБД? и драйвере. А то может только я не заметил.


coba   (2003-02-07 18:06:00) [11]

sniknik ©
Я из дельфей запросы делаю...
На сколько я понимаю, какие SQL команды поддерживает СУБД, те команды и проходят...
фокс не понимает CAST, в запросе который я вставляю из дельфи, на CAST реакция отрицательная...


sniknik   (2003-02-07 18:04:00) [12]

в ФОКСЕ формат дат {23/1/1998} (американский)


sniknik   (2003-02-07 17:56:00) [13]

> fox Cast не понимает

хочеш сказать что все время про фокс говорил? то есть не из дельфей а из фокса проверяеш? !!!!!!

ну, ну а где это в вопросе стоит? тебе всеотвечают по дельфям Local SQL.


coba   (2003-02-07 17:55:00) [14]

Ладно, всем спасибо за ответы, ну его этот фокс вместе с дбейсом...


coba   (2003-02-07 17:52:00) [15]

Max Zyuzin ©
дата на компе у меня dd.mm.yyyy, дело не в формате представления даты и времени а в том, почему в запрос нельзя просто поставить дату, обязательно нужно подставлять ее в формате datetime...
сорри за задержку...


coba   (2003-02-07 17:42:00) [16]

sniknik ©
fox Cast не понимает...
стрингу брать не хочет... короче ну его ...
пусть ест сконвертрованные вручную даты...


sniknik   (2003-02-07 17:32:00) [17]

coba (07.02.03 17:24)
в локал SQL CAST заместо

хелп

SELECT SaleDate,
SUBSTRING(CAST(CAST(SaleDate AS DATE) AS CHAR(10)) FROM 1 FOR 1)
FROM Orders


sniknik   (2003-02-07 17:30:00) [18]

ну м не менее перебери варианты. (зависит от настроек твоеймашины, модет день и месяц поменять)

хелп

Example of a date literal in a US format:
SELECT *
FROM Orders
WHERE (SaleDate <= "1/23/1998")

Example of the same date literal in a European format:
SELECT *
FROM Orders
WHERE (SaleDate <= "23.1.1998")
Leading zeros for the month and day fields are optional.
If the century is not specified for the year in a date value, the BDE settings FOURDIGITYEAR and YEARBIASED control the century of the date.


coba   (2003-02-07 17:24:00) [19]

Reals ©
Говорит что не знает функцию CONVERT


coba   (2003-02-07 17:18:00) [20]

sniknik ©
пробовал - не работает...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо