57 / 57 / 10
Регистрация: 27.02.2010
Сообщений: 282
1

Формат даты в ORACLE

31.03.2010, 22:22. Показов 5395. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
        qwRange.Active := False;
        qwRange.SQL.Clear;
        qwRange.SQL.Add('select Count (Summ) as rrr from transactions'
                + ' where summ between ' + FloatToStr(RangeArray[i].rStart.Value) + ' and ' + FloatToStr(RangeArray[i].rEnd.Value)//);
                + ' and Debit = 17069 '
                + ' and credit not in (47514,223376, 242777) '
                + ' and MOMENT between ' + '''' + FormatDateTime('dd.mm.yyyy hh:nn:ss' ,(deStart.Date+tpStart.Time)) + '''' + ' and ' + '''' + FormatDateTime('dd.mm.yyyy hh:nn:ss' , (deEnd.Date+tpEnd.Time)) +'''');
        qwRange.Active := True;
Запрос к базе данных ORACLE Выдается ошибка связанная с датой, подскажите каков правильный синтаксис ввода в данной СУБД.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2010, 22:22
Ответы с готовыми решениями:

Формат даты DBGrid
Добрый день. Помогите разобраться, понадобилось сделать курсовик по Delphi, который выводит...

формат даты в делфе
Выручайте!!! Как из БД вывести дату в формате: 15 Апреля 2010?????

Формат даты не дает фильтровать
Добрый день! заливаю исходник, не могу решить проблему((( в верхнее поле вводим число, нажимаем...

Формат даты в БД в запросе SQL
Добрый день! Я не имею опыта программирования и тем более не приходилось работать с БД. Поэтому...

7
15 / 15 / 1
Регистрация: 30.03.2010
Сообщений: 47
31.03.2010, 22:32 2
По умолчанию, вроде как DD-MON-YY. Но вообще обычно пользуются To_Date( строка, 'формат'). Что-то в духе
Delphi
1
' and MOMENT between to_date(' + '''' + FormatDateTime('dd.mm.yyyy hh:nn:ss' ,(deStart.Date+tpStart.Time)) + ''', ''dd.mm.yyyy hh:mi:ss'')' + ' and to_date(' + '''' + FormatDateTime('dd.mm.yyyy hh:nn:ss' , (deEnd.Date+tpEnd.Time)) +''')''dd.mm.yyyy hh:mi:ss''');
0
57 / 57 / 10
Регистрация: 27.02.2010
Сообщений: 282
31.03.2010, 23:42  [ТС] 3
Выдает ошибку.. Missing keyword
0
15 / 15 / 1
Регистрация: 30.03.2010
Сообщений: 47
01.04.2010, 08:29 4
Ну я там со скобочками перемудрил.. Запрос должен получиться такой:

SQL
1
MOMENT BETWEEN to_date(:deStart, 'dd.mm.yyyy hh:mi:ss') AND to_date(:deEnd, 'dd.mm.yyyy hh:mi:ss')
Ну и вместо параметров, соответсвенно, те две строчки, сформированные дельфёй из даты в формате 'dd.mm.yyyy hh:nn:ss'.

to_date парсит строку по предложенному ему формату в дату.
0
57 / 57 / 10
Регистрация: 27.02.2010
Сообщений: 282
01.04.2010, 10:42  [ТС] 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
 
qwRange.Active := False;
qwRange.SQL.Clear;
qwRange.SQL.Add('select Count (Summ) as rrr from transactions'
                + ' where summ between ' + FloatToStr(RangeArray[i].rStart.Value) + ' and ' +   FloatToStr(RangeArray[i].rEnd.Value)//);
                + ' and Debit = 17069 '
                + ' and credit not in (47514,223376, 242777) '
                + ' and MOMENT between to_date :dStart  and to_date :dEnd');
qwName.Parameters.ParamByName('dStart').Value := deStart.Date+tpStart.Time;
qwName.Parameters.ParamByName('dEnd').Value := deEnd.Date+tpEnd.Time;
qwRange.Active := True;
Опять выдает ошибку (((
Parametr 'dStart' not Found...
0
15 / 15 / 1
Регистрация: 30.03.2010
Сообщений: 47
01.04.2010, 11:21 6
Возможно поможет Parameters.Refresh
Возможно потребуется еще и указать типы параметров Parameters.ParamByName('').DataType:= ftDateTime;
Но запрос всеравно сругнется на синтаксис. Я выше написал как выглядит to_date - это функция с двумя параметрами. Хотя при передаче параметров она не должна понадобиться вообще.
1
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
01.04.2010, 13:43 7
_pva, проверь - возможно возникла путаница с именем параметра в тексте запроса: :dStart или :deStart.
1
57 / 57 / 10
Регистрация: 27.02.2010
Сообщений: 282
01.04.2010, 22:13  [ТС] 8
Спасибо, попробую...
0
01.04.2010, 22:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2010, 22:13
Помогаю со студенческими работами здесь

Формат даты для поиска в SQL
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT * FROM zur WHERE DATE...

Изменить формат отображения даты в DBGrid
Доброго времени суток! Мне нужно чтобы в таблице, в поле "дата рождения" сама дата отображалась в...

Формат даты в DbGrid, как не отображать время?
В Access поле дата (Краткий формат даты), маска ввода (00.00.0000;0;_) В Access дата отображается...

Формат даты в SQL-запросе (компонент ADOQuery)
Помогите разобраться! Есть таблица в Access, одно из полей которой имеет тип "дата". Как сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru