簡體   English   中英

如何以Ymd H:i:s格式在ORACLE中保存日期?

[英]How to save date in ORACLE in Y-m-d H:i:s format?

在PHP中, date('Ymd H:i:s')給出的結果類似於'2017-02-17 23:10:00'格式。

現在,我想將結果保存在ORACLE 10g中 我正在使用Oracle 10g Xpress Edition

現在,我正在嘗試像這樣保存數據。

$sql = "INSERT INTO tbl_language VALUES 
(1, 'Hindi', TO_DATE('".$time."','yyyy-mm-dd hh24:mi:ss'))"; 

其中$time = date('Ymd H:i:s');

日期值將保存為12-Feb-17 如何獲取以所需格式保存的日期數據?

Oracle中的日期未保存為2017-02-17 23:10:00或17年2月12日,或者您認為其他任何格式。 它以完全不同的方式存儲。 從數據庫中選擇日期時,顯示日期的格式基於會話的NLS_DATE_FORMAT設置。

如果要以特定格式獲取日期,則可以使用具有所需格式的TO_CHAR函數:

select to_char(datecolumn, 'yyyy-mm-dd hh24:mi:ss') from your_table;

當您僅選擇日期列時,Oracle不會顯示時間部分。

嘗試這個:

select l.*,
       to_char(datecol, 'YYYY-MM-DD HH24:MI:SS')
from tbl_languages l;

DATE數據類型沒有格式。 Oracle將其存儲為7字節或8字節 ,直到將其傳遞給客戶端程序(即SQL / Plus,SQL Developer,Toad,Java,Python等),並且客戶端程序才根據任何規則對其進行格式化它具有日期獲取格式。

如果您使用的是SQL / Plus或SQL Developer,則它將使用NLS_DATE_FORMAT會話參數來格式化日期。 您可以使用以下方法更改此設置

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

(請注意,這只會更改當前會話中的格式,而不會更改任何其他會話/用戶的格式。)

如果要給日期指定特定格式,則需要將其轉換為字符串

SELECT TO_CHAR( date_column, 'YYYY-MM-DD HH24:MI:SS' ) AS formatted_date
FROM   tbl_language;

暫無
暫無

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

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