Вниз
Скачать: CL | DM;

Проблема с Smalldatetime   Найти похожие ветки 

 
denmin ©   (2004-02-25 15:09) [0]

Здравствуйте. Проблема в следующем: есть SP, где идет выборка таким образом

DecodeDate (Now, Year, Month, Day);
DateYear:=StrToDate("01.01."+IntToStr(Year));
Query4.Close;
Query4.Parameters.Items[1].Value:=DateYear;
Query4.Parameters.Items[2].Value:=Date;
Query4.ExecProc;

т.е. если брать 25 февраля, то dateyear будет 01.01.2004, а Date 25.02.2004.
В базе, из которой выьирается это поле, smalldatetime, т.е. ругается на несоответсвие типов, т.к. в базе 2004-01-01 00:00:00 и 2004-02-25 00:00:00 соответственно.
Помогите разобраться пожалуйста.
И если можно, то объясните мне почему в Enterprise Manager даты выглядят как 25.02.2004, а в QA 2004-02-25 00:00:00?


 
Ega23 ©   (2004-02-25 15:34) [1]

1. smalldatetime - datetime с точностью до минут. Приводится обычным cast:
DateYear=cast(DateYear as smalldatetime)
2. Если в QA ты выборку сделаешь через
YourDate=Convert(varchar(10), YourDate, 104)
то ты то же самое увидишь, что и в EM.


 
sniknik ©   (2004-02-25 15:34) [2]

ругатся может потому что ты считаеш неправильно, с еденицы а программитский счет с 0. ;о)

разное представление даты зависит от настроек, системных, внутрипрограммых неважно. в своей можно поставить любое отображение хоть на иврите, дата(число) от этого не поменяется. почему у EM/QA должны быть ограничения?

> DecodeDate (Now, Year, Month, Day);
> DateYear:=StrToDate("01.01."+IntToStr(Year));
а это зачем? не подобие этого StartOfTheYear() случаем? или если вдруг в 5 нет такой функции, DateYear:= EncodeDate(YearOf(Now), 1, 1); (операции с числами "легче" чем со строкой)


 
Ega23 ©   (2004-02-25 15:40) [3]

(операции с числами "легче" чем со строкой)
Это же параметр в SQL-запрос, один пёс к строке приводить придётся...


 
sniknik ©   (2004-02-25 15:49) [4]

нет параметры передаются "as is", datetime так числом и пойдет.

а потом операции про которые говорил делаются не в sql-запросе, посмотри внимательнее на код.


 
Ega23 ©   (2004-02-25 15:50) [5]

Это TStoredProc что-ли? Никогда не пользовался...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
3-1077959547
Michail Dalakov
2004-02-28 12:12
2004.03.28
Oracle и побитовые операции


1-1079030891
Rim
2004-03-11 21:48
2004.03.28
Массив


14-1077350919
Igor_thief
2004-02-21 11:08
2004.03.28
Какой способ самый оптимальный?


3-1077004965
smolin
2004-02-17 11:02
2004.03.28
select summa, schet into ( C: table1.dbf ) from table_


8-1069395228
Коляныччч
2003-11-21 09:13
2004.03.28
DelphiX AlphaDraw




   Наверх