Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: 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 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
6-1074671056
cyborg
2004-01-21 10:44
2004.03.28
FastNet TNMPOP3


3-1074853124
nejest
2004-01-23 13:18
2004.03.28
как сделать если нету записей, удовлетворяющих условию выводило 0


3-1077146940
Ve_Ko
2004-02-19 02:29
2004.03.28
Файл-сервер


4-1074512647
idr
2004-01-19 14:44
2004.03.28
Scroll-лирование клиентской области окна


14-1077694907
hatchy
2004-02-25 10:41
2004.03.28
Компьютер и Видеомагнитофон