日期存入資料庫
『壹』 如何將日期存入資料庫
將日期轉換為int類型時間戳,保存到資料庫int類型列,推薦使用這種方式
將日期保存到資料庫date類型列
把日期直接保存到char/varchar類型列,這種方式是最差的做法,無法比較日期大小,但是可以保存任何格式類型
『貳』 怎麼插入當前時間到資料庫
在資料庫表中添加默認的當前日期列:
表中添加日期列,在其默認值中,填上默認日期的函數即可。
oracle 當中是sysdate!
sql server中是GETDATE()
MySQL:curdate()
』yyyy-mm-dd』的格式返回今天的日期,可以直接存到date欄位中。
不包括當前的時間 只顯示年月日:需要你讀取出來的時候,刪除掉後面的時間部分。
因為資料庫會自動加上 0:00:00 的。
『叄』 如何插入時間日期型數據在資料庫里
以目前三大主流資料庫oracle,mysql,sqlserver分別說明。
如果是oracle,需要用to_date函數將字元型數據轉換,插入到資料庫的日期型數據中。
如:
createtabletest
(cdatedate);
insertintotestvalues(to_date('2015-08-13','yyyy-mm-dd'));
commit;
如果是mysql或者sqlserver,可直接以字元形式插入,資料庫會自動將字元轉成日期。
createtabletest
(cdatedatetime);
insertintotestvalues('2015-08-13');
需要注意:oracle中插入後需要commit(提交),否則在關閉當前會話後,插入是不成功的。
『肆』 如何向mysql資料庫中插入日期
java中有date和datetime,mysql中也有date和datetime,這里我們來說說mysql中的date和datetime。
1 mysql中的date和datetime
1.1 DATETIME
類型可用於需要同時包含日期和時間信息的值。MySQL 以:
『YYYY-MM-DD HH:MM:SS』
格式檢索與顯示 DATETIME 類型。支持的范圍是:
『1000-01-01 00:00:00』
到
『9999-12-31 23:59:59』。
(「支持」的含義是,盡管更早的值可能工作,但不能保證他們均可以。)
1.2 DATE
類型可用於需要一個日期值而不需要時間部分時。MySQL 以
『YYYY-MM-DD』
格式檢索與顯示DATE值。支持的范圍則是
『1000-01-01』
到
『9999-12-31』。
2 與java數據的交互
能看出來mysql中的date和datetime區別還是挺大的,date沒有保存時間。但是java中的date(java.util.Date)記錄的還是挺細的,日期和時間都可以記下來,那麼現在問題來了,如果想在mysql中存儲日期和時間,也就是用datetime,而在數據中應該如何對應呢?
我使用hibernate測了一下,發現當把mysql資料庫中設置了datetime,反向工程生成的hbm.xml文件中,使用的是timestamp,如下:
<property name="Publishdate" column="publishdate" type="timestamp" not-null="false" length="10" />1
反向生成java的pojo時,生成的還是Date。
由此可見對於mysql中datetime,與java中的date,如果要使二者正確交互,中間要使用timestamp。
如果要在JAVA中直接插入MySql的datetime類型,則可以使用:
Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());12
再用setTimestamp()設置資料庫中的「日期+時間」。
這樣放入資料庫的就是「yyyy-mm-dd hh:mm:ss」格式的數據。
注意,mysql中如果使用date而不是datetime是保存不下「日期+時間」的,只能保存「時間」。