Sql 将日期时间/时间戳转换为日期时出现问题
当我试图将DateTime/timestamp转换为date时,我遇到了麻烦 源是一个SQL Server,我使用的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)-没有区别 有人知道原因是什么,解决办法是什么吗?非常感谢。 另外,这是我使用的
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]。