Jerzy Biesiadowski 0 Napisano 10 Maja 2022 Udostępnij Napisano 10 Maja 2022 w Raport własny SQL - problem z datą Od kilku wersji mam problem z użyciem daty jako parametru Identyczna deklaracja działa bez problemu w starym raporcie. W nowym czy też przy zmianie starego występuje błąd jak powyżej. Link to postu
Przemysław Werner 395 Napisano 10 Maja 2022 Udostępnij Napisano 10 Maja 2022 w Raport własny SQL - problem z datą (edytowane) Dziękujemy za zgłoszenie. Zapisaliśmy temat z parametrem do analizy w kolejnych wersji InsERT nexo. Edytowane 13 Maja 2022 przez Przemysław Werner Link to postu
Radomił Ząbik 308 Napisano 11 Maja 2022 Udostępnij Napisano 11 Maja 2022 w Raport własny SQL - problem z datą A czy w przypadku opcji: {DR:Z okresu} też jest jakiś problem? Wgrywałem jakiś stary raport i nie pokazywało nawet błędu, zwracało coś z odwołaniem do obiektu. Dopiero jak dodałem domyślną wartość BIEZACY_DZIEN, zadziałało. Link to postu
Przemysław Werner 395 Napisano 11 Maja 2022 Udostępnij Napisano 11 Maja 2022 w Raport własny SQL - problem z datą Niestety problem dotyczy również parametru {DR:...} bez domyślnej wartości. Link to postu
Radomił Ząbik 308 Napisano 11 Maja 2022 Udostępnij Napisano 11 Maja 2022 w Raport własny SQL - problem z datą Czyli to nie mój babol Rozumiem, że problem tyczy wyłącznie walidacji raportu i starych, już dodanych raportów, nie popsuje? Link to postu
Przemysław Werner 395 Napisano 11 Maja 2022 Udostępnij Napisano 11 Maja 2022 w Raport własny SQL - problem z datą Problem dotyczy próby zapisu takich raportów. Link to postu
Przemysław Werner 395 Napisano 13 Maja 2022 Udostępnij Napisano 13 Maja 2022 w Raport własny SQL - problem z datą W dniu 10.05.2022 o 02:20, Jerzy Biesiadowski napisał: Od kilku wersji mam problem z użyciem daty jako parametru Konstrukcja zapytania {D:Jakaś data} generuje parametr SQL typu DATETIME2, który ma zakres 1-1-0001 do 31-12-9999, zatem jeżeli wpiszemy= {D:Jakaś data} bez wskazywania wartości domyślnej, to zostanie użyta wartość '0001-01-01 00:00:00.0000000'. Parametr SQL typu DATETIME ma zakres 1-1-1753 do 31-12-9999, jeżeli więc wykonamy się poniższe zapytanie DECLARE @data DATETIME = {D:Jakaś data} To przy wykonaniu takiego zapytania SQL będzie próbował wykonać konwersję typu DATETIME2 na DATETIME i w rezultacie wartości 1-1-0001, gdzie nastąpi błąd przekroczenia zakresu przy konwersji. Podobny błąd można uzyskać wykonując zapytanie w SSMS takiej postaci: DECLARE @Param DATETIME2 = '00010101' -- minimalna wartość PRINT @Param DECLARE @data DATETIME = @Param Prawidłowe zapytanie powinno zatem wyglądać następująco: DECLARE @data DATETIME2 = {D:Jakaś data} Link to postu
Polecane posty