Sql 将日期时间/时间戳转换为日期时出现问题

Sql 将日期时间/时间戳转换为日期时出现问题,sql,sql-server,pentaho-spoon,Sql,Sql Server,Pentaho Spoon,当我试图将DateTime/timestamp转换为date时,我遇到了麻烦 源是一个SQL Server,我使用的SQL是CONVERT(date,[u列])AS[u列],或者另一个SQL是CAST([u列]AS date)AS[u列] 无论我使用哪一个,我都会得到一个错误的日期-结果不是2014-11-25,而是2014-11-23。我尝试更改数据库中列的类型(它是datetime我将它更改为timestamp)-没有区别 有人知道原因是什么,解决办法是什么吗?非常感谢。 另外,这是我使用的

当我试图将DateTime/timestamp转换为date时,我遇到了麻烦

源是一个SQL Server,我使用的SQL是
CONVERT(date,[u列])AS[u列]
,或者另一个SQL是
CAST([u列]AS date)AS[u列]

无论我使用哪一个,我都会得到一个错误的日期-结果不是
2014-11-25
,而是
2014-11-23
。我尝试更改数据库中列的类型(它是
datetime
我将它更改为
timestamp
)-没有区别

有人知道原因是什么,解决办法是什么吗?非常感谢。 另外,这是我使用的sql

  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]


你能通过上传文件分享你的.ktr文件吗?我在PDI上做了很多工作,所以如果你和我分享tour.ktr文件,希望我能帮助你收集数据样本,期望结果会有所帮助。使用方括号令人困惑,因为MySQL无法识别这些。你确定你使用的是MySQL吗?我不知道如何上传.ktr,但是如果有帮助的话,我可以给你sql。这不是MySQL,我不知道为什么我的问题被纠正了,这是微软sql.1。请标记所使用的数据库(MySQL?、SQL Server?);2.假设这是SQL Server,不要使用
时间戳
。这是一种名称非常糟糕的数据类型,与时间无关。最后,执行如下基本测试查询:
从[ACCESS].[dbo].[zamovienia]
中选择CONVERT(date[DATA\u REJESTRACJI])作为[DATA\u REJESTRACJI],[DATA\u REJESTRACJI]。