我有一個列的日期爲float數據類型。它們採用YYYYMMDD格式。我需要將這些日期更改回日期時間格式。將float轉換爲datetime時的算術溢出錯誤(SQL Server 2014)
我試着做以下幾點:
Select top 1 Date_col,CAST(FLOOR((CAST(Date_col AS numeric(10,10)))) AS DATETIME) from dbo.table_2016
所有我需要的是數據類型轉換,但我想如果可能的話,以保留其格式。
我有一個列的日期爲float數據類型。它們採用YYYYMMDD格式。我需要將這些日期更改回日期時間格式。將float轉換爲datetime時的算術溢出錯誤(SQL Server 2014)
我試着做以下幾點:
Select top 1 Date_col,CAST(FLOOR((CAST(Date_col AS numeric(10,10)))) AS DATETIME) from dbo.table_2016
所有我需要的是數據類型轉換,但我想如果可能的話,以保留其格式。
試試這個:
select
DATEFROMPARTS(
left(convert(char(8), convert(integer, Date_Col)), 4),
substring(convert(char(8), convert(integer, Date_Col)), 5, 2),
substring(convert(char(8), convert(integer, Date_Col)), 7, 2))
from
table_2016;
使用轉換,而不是嘗試。 https://msdn.microsoft.com/en-us/library/ms187928.aspx –
'CAST(FLOOR(date_col)AS DATETIME)'? –
這就是關於SO的類似問題的答案。以爲我會嘗試它。已經嘗試了一個普通的「演員」,但無濟於事 – Adit2789