Як правильно написати дату в запиті

Як правильно написати дату в запиті?

Працювати з датою як з датою, через параметр
Select *
From Table
WHERE Table. "Date" =: mydate
І далі Query.ParamByName ( "mydate"). AsDate: = now;

ЗИ Раджу не називати поля і таблиці зарезервірованимі словами (date)

> Coba (07.02.03 16:12)
Параметром.

Поки написав в лоб. тобто дату в форматі дати :)

> Coba (07.02.03 16:23)
Справа в тому, що в тебе з таким підходом програма буде залежати від налаштувань OS який формат там стоїть такий тобі і треба писати запит, в загальному це фігово :) тому на різних тачках може і не працювати (через те, що я і написав).

> Coba (07.02.03 16:32)
Так ти запит до якої базі робиш? До фокспровой або до MSSQL.

coba (07.02.03 16:35)
якщо дати передаеш НЕ параметром, то будуть. не у тебе так у клієнтів.

> Coba (07.02.03 16:35)
Тади зроби таку штуку.
Label1.Caption: = DateToStr (now);
І в такому вигляді і забивай дату в запиті

на початку програми робиш ось так:
ShortDateFormat: = "dd.mm.yyyy";

тільки, все це якось некрасиво.

вибач не помітив
> Програма буде працювати тільки у мене.
тоді без різниці, настройки напевно однакові ставиш навіть якщо вінди переінсталіруеш.

> Coba (07.02.03 16:52)
Я тобі це написав тільки для того, що б ти дізнався як у тебе на комп'ютері дата сделоана, в сенсі який у неї формат, а запити ти вже будеш робити використовуючи цей формат. Все ж що у тебе видає?

в хелпе так написано.

ну м не менше перебери варіанти. (Залежить від налаштувань твоєї машини, модет день і місяць поміняти)

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

Гаразд, дякую всім за відповіді, ну його цей фокс разом з дбейсом.

> Fox Cast не розуміє

хочеш сказати що весь час про фокс говорив? тобто не з Дельфі а з фокса проверяеш.

ну, ну а де це в питанні варто? тобі все відповідають за Дельфах Local SQL.

ти що думаєш SQL він один на всіх? наївний.
і дельфи підключається по різному і до різних драйверів. і в залежності від драйвера / способу все може 1000 разів Поміняти. а ось цієї важливої ​​інформації ти не надав, в результаті ніякого результату.

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

і першим же відповіддю, був правильний

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

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

а хоча б що говорить, помилку, міг привести?

Я чесно кажучи не знаю які типи полів є у dBase, але наприклад у MSSQL є типи полів пов'язані з датою:
1) datetime
2) smalldatetime
ну і ще є там
3) timestamp (але це не береться до уваги)

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

А може у тебе взагалі полі не типу Date, ти дивився в Database Desktop?

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

крім як datetime нічого визнавати не хоче, сама (як в MSSQL) в datetime НЕ конвертірут, коротше бог з нею. я вже забив майже на трабли.

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

хоча якщо дійсно заради приколу.

Схожі статті