[英]Date format in oracle PL/SQL
如何檢查 oracle 表中特定列的日期格式? oracle DATE 數據類型是否能夠存儲兩種格式(美國和歐洲)? 如果是這樣,有沒有辦法區分哪個是月份,哪個是日期?
在 Oracle 中, DATE
是一種二進制數據類型,由 7 個字節組成,分別表示
它始終具有這些組件,並且從不以任何特定格式存儲。
如何檢查 oracle 表中特定列的日期格式?
它沒有任何格式,所以你不能。
如果您想查看DATE
的二進制值,可以使用DUMP
function:
SELECT DUMP(date_column) FROM table_name;
oracle
DATE
數據類型是否能夠存儲兩種格式(美國和歐洲)?
不,它從不存儲任何格式。
如果要存儲格式化數據,請使用字符串數據類型; 但是,這通常被認為是日期的不良做法,因為如果您同時使用DD/MM/YYYY
和MM/DD/YYYY
,它會在日和月之間引入歧義。 最佳做法是將日期存儲為DATE
,然后在顯示日期時選擇適當的格式。
如果您想顯示DATE
日期類型,那么您可以使用TO_CHAR
function 並指定適合您要將其顯示為的地區的格式 model。
SELECT TO_CHAR(date_column, 'DD/MM/YYYY HH24:MI:SS') AS eu_format,
TO_CHAR(date_column, 'MM/DD/YYYY HH24:MI:SS') AS us_format,
TO_CHAR(date_column, 'YYYY-MM-DD"T"HH24:MI:SS') AS iso8601_format
FROM table_name
db<> 在這里擺弄
此答案中列出了不同地區的默認格式 model(SQL 引擎在將字符串隱式轉換為日期時使用,反之亦然,或由某些客戶端應用程序用於顯示日期)。
Oracle 日期以內部二進制數據格式存儲。 顯示格式由客戶端處理,不會存儲。
這與數字相同,例如,根據與to_char
function 一起使用的格式掩碼,相同的值可以顯示為 1000、1,000.00、1e3 等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.