I have troubles when I try to cast or convert DateTime/timestamp to date.
The source is a SQL Server and the SQL I use is CONVERT(date,[the_column]) AS [the_column]
or the other SQL is CAST([the_column] AS DATE) AS [the_column]
.
No matter which one I use I get a wrong date - instead of 2014-11-25
the result is 2014-11-23
. I've tried to change the type of the column in the DB (it was datetime
I changed it to timestamp
) - no difference.
Does anyone know what could be the reason and what is the solution? Thank you. P.S. This is the sql I use.
SELECT [NUMER_ZAMOWIENIA]
,[NUMER_ODBIORCY]
,CONVERT(date,[DATA_REJESTRACJI]) AS [DATA_REJESTRACJI]
,CAST([TERMIN_KLIENTA] AS DATE) AS [TERMIN_KLIENTA]
,[INDEKS]
,[ILOSC_ZAMOWIONA]
,[ILOSC_WYSLANA]
,[STATUS_POZYCJI]
,[CENA]
,[CENA_SPRZEDAZY]
,CAST([DATA_REALIZACJI] AS DATE) AS [DATA_REALIZACJI]
,[ORIGINAL_NUMER]
,DATEPART(hour,[ZAMOWIENIA].[DATA_REJESTRACJI]) AS HOUR_REG
,DATEPART(minute,[ZAMOWIENIA].[DATA_REJESTRACJI]) AS MIN_REG
,DATEPART(hour,[ZAMOWIENIA].[TERMIN_KLIENTA]) AS HOUR_TER
,DATEPART(minute, [ZAMOWIENIA].[TERMIN_KLIENTA]) AS MIN_TER
,DATEPART(hour,[ZAMOWIENIA].[DATA_REALIZACJI]) AS HOUR_REALIZ
,DATEPART(minute, [ZAMOWIENIA].[DATA_REALIZACJI]) AS MIN_REALIZ
FROM [ACCESS].[dbo].[ZAMOWIENIA]