簡體   English   中英

將十進制轉換為日期格式 SQL

[英]Convert decimal to date format SQL

我正在嘗試將包含十進制值(例如 20,200,721)的列 FC_FROM_DATE 轉換為日期格式 2020/07/21。

我試過這段代碼

SELECT TO_DATE(CHAR(CAST(FC_FROM_DATE AS DECIMAL(8,0))), 'YYYY/MM/DD') 
FROM MARKETS.FORECAST

我收到一個錯誤

chr 的參數應該在 0 到 127 之間

非常感謝您的幫助!

如果您使用的是 Oracle 那么您可以使用以下查詢:

SELECT TO_DATE(CAST(FC_FROM_DATE AS VARCHAR(8), 'YYYY/MM/DD') FROM Table

看到持久格式是YYYYMMDD ,您可以將值轉換為varchar(8) ,然后使用CONVERT獲取Date實例。

SELECT CONVERT(DATE, CAST(FC_FROM_DATE AS VARCHAR(8))) FROM MARKETS.FORECAST

理想情況下,日期存儲為日期,帶有時間組件的日期存儲為 DATETIME2(如果不是 Sql 服務器,則等效)。

測試上面的代碼

DECLARE @FC_FROM_DATE decimal(8,0) =  20200721
SELECT CONVERT(DATE, CAST(@FC_FROM_DATE AS VARCHAR(8)))

2020-07-21

免責聲明:這適用於 MS Sql 服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM