Witajcie
Poniżej wklejam zapytanie z którm mam problem. Mianowicie potrzebuje wyciagnąć takie id z serwerów, których różnica pomiędzy datami jest nie większa niż 1 dzień.
W tabeli daty zdefiniowane są jako VARCHAR i oprócz daty zawierają godzinę i po kropce sekundy. O ile wykorzystując funkcję LEFT mogę wyciagnąć 10 znaków pierwszych i wyświetlić date w formacie : RRRR-MM-DD to gdy chce odjąć te wartości to juz nie działa. Przypuszczam, że może źle podchodze do rozszerzenie ale przynam się, że jestem początkującym użytkownikiem więc proszę o radę. Potrzebuje rekordów, którcych logdate nie różni się od lastscanned nie więcej niż jeden dzień.
SELECT URT_INFO_BESCM01_ARCH_SERVER_V3.CUSTOMER,URT_INFO_BESCM01_ARCH_USER_V3.SERVERNAME,
URT_INFO_BESCM01_ARCH_USER_V3.USERID,LEFT(URT_INFO_BESCM01_ARCH_USER_V3.LOGDATE,10) AS LOGDATE_1 , LEFT(URT_INFO_BESCM01_ARCH_SERVER_V3.LASTSCANNED,10) AS LASTSCANNED_1
FROM UIDT.URT_INFO_BESCM01_ARCH_SERVER_V3 AS URT_INFO_BESCM01_ARCH_SERVER_V3, UIDT.URT_INFO_BESCM01_ARCH_USER_V3 AS URT_INFO_BESCM01_ARCH_USER_V3
WHERE URT_INFO_BESCM01_ARCH_USER_V3.USERTYPE IN ('E', 'I') AND URT_INFO_BESCM01_ARCH_USER_V3.SERVERNAME=URT_INFO_BESCM01_ARCH_SERVER_V3.SERVERNAME
AND URT_INFO_BESCM01_ARCH_SERVER_V3.LASTSCANNED = ( select max(URT_INFO_BESCM01_ARCH_SERVER_V3.LASTSCANNED)
from UIDT.URT_INFO_BESCM01_ARCH_SERVER_V3 AS URT_INFO_BESCM01_ARCH_SERVER_V3) and LASTSCANNED_1 - LOGDATE_1 <=1
z góry wielkie za pomoc