Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

Проблема с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.042 c
3-1078069363
VID
2004-02-29 18:42
2004.03.28
Как в FastReport нЕвыводить текущую строку ?


3-1077701924
Iwanttolearndelphi
2004-02-25 12:38
2004.03.28
Вопрос о выборе технологии...


14-1077965066
Макын
2004-02-28 13:44
2004.03.28
Visual C++


3-1077826916
HeoGtan
2004-02-26 23:21
2004.03.28
Как узнать текущее имя поля и его номер


8-1069824948
TSa
2003-11-26 08:35
2004.03.28
Видео





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский