none
Rozdílné hodnoty GETADTE() na SQL serveru a pomocí storedprocedur z aplikace

    Obecná diskuse

  • Pokud spustím stored proceduru z ASP.NET aplikace, kde využívám getdate() (k němu pak připočítávám nebo odpočítávám dny), dostanu rozdílné výsledky v porovnání s tím, když proceduru spustím v Management studiu rovnou na SQL serveru. Máte někdo s tímto zkušenosti? Rozdíl činí vždy jeden den.
    1. dubna 2010 15:58

Všechny reakce

  • Dobrý den,

    funkce getdate() není deterministická a tak obecně platí, že pokud ji zavoláte opakovaně, nevrátí stejnou hodnotu - rozdíl ale bude odpovídat časovému intervalu mezi jednotlivými voláními funkce. Dvě bezprostředně po sobě následující volání funkce však nemohou vrátit hodnotu s posuvem o jeden den. Osobně bych problém viděl někde v interpretaci vrácené hodnoty. Bylo by možné vidět kód té uložené procedury? Jak pak výsledek zpracováváte ve Vaší aplikaci?

    MP.

    1. dubna 2010 20:06
  • rozdíl ale bude odpovídat časovému intervalu mezi jednotlivými voláními funkce. Dvě bezprostředně po sobě následující volání funkce však nemohou vrátit hodnotu s posuvem o jeden den. 


    Pokud se zavola v 23:59:59 a v 00:00:01 tak ano (tedy nastupuje filozoficka otazka zda je to posun o 2 vteriny nebo o jeden den tzn. zda zaokrouhlujeme nebo bereme jen cast data)

    Spise bych ale zkontroloval CASOVA PASMA dotazujicich se aplikaci. GETUTCDATE vraci plus minus stejne hodnoty v obou plikacich?

    MP

    12. dubna 2010 14:25