色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

解析MySql與Java的時(shí)間類型

MySql的時(shí)間類型有          Java中與之對應(yīng)的時(shí)間類型
date                                           Java.sql.Date
Datetime                                    Java.sql.Timestamp
Timestamp                                  Java.sql.Timestamp
Time                                          Java.sql.Time
Year                                           Java.sql.Date

對其進(jìn)行分析
參考MySql 的reference manual
Date:
A date. The supported range is '1000-01-01' to '9999-12-31'. MySQL displays DATE values in 'YYYY-MM-DD' format, but allows you to assign values to DATE columns using either strings or numbers.
只記錄日期信息,表示范圍為1000-01-01 至 9999-12-31。
MySql 按照YYYY-MM-DD 的方式進(jìn)行該類字段的顯示。添加該類字段數(shù)據(jù),即可以使用字符串類型,也可以使用數(shù)字類型

由于Date類型的字段只記錄日期信息,所以如果添加的數(shù)據(jù)中包含了時(shí)間信息,該時(shí)間信息將會自動被截?cái)唷?BR>如果要保存時(shí)間信息,可以考慮使用DateTime類型。
經(jīng)過測試,發(fā)現(xiàn)如下2種方式可以對Date類型字段進(jìn)行填充:
按字符串:
insert into time_table(CreateDate) values(‘2007-04-09')
按數(shù)字:
insert into time_table(CreateDate) values(20070409)
獲取可以用Java.sql.Date類型獲取
代碼為:
Date dtDate =rsBuffer.getDate("CreateDate");
測試代碼如下:(其中,IDBFace 是自己基于JDBC封裝的一個(gè)簡單類, 接受Sql對數(shù)據(jù)庫進(jìn)行操作)
復(fù)制代碼 代碼如下:
public void testDate()throws SQLException
{
       IDBFace DBFace =DBFactory.createMySqlFace();
       DBFace.connect();
       //清空表
       String strDelete ="delete from time_table";
       DBFace.update(strDelete);
       //添加

       String strInsert ="insert into time_table(CreateDate) values(20070409)";
       DBFace.update(strInsert);

             
       //獲取
       String strSelect ="select * from time_table";
       ResultSet rsBuffer =DBFace.select(strSelect);
       while(rsBuffer.next())
       {
              Date dtDate =rsBuffer.getDate("CreateDate");
              System.out.println(dtDate.toString());
       }
       DBFace.close();
}

執(zhí)行結(jié)果: 2007-04-09

DateTime
A date and time combination. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. MySQL displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format, but allows you to assign values to DATETIME columns using either strings or numbers.
DateTime 與Date最主要的區(qū)別在于:DateTime 可以記錄日期和時(shí)間信息。而Date只記錄日期信息。表示范圍為: 1000-01-01 00:00:00 至 9999-12-31 23:59:59 MySql的按照YYYY-MM-DD HH:MM:SS對數(shù)據(jù)進(jìn)行格式化,允許以字符串和數(shù)字的方式提交。

例如以數(shù)字的方式進(jìn)行提交:
insert into time_table(CreateDate) values(20070409132013)
獲取該類型的數(shù)據(jù)可以使用:Java.sql.Timestamp類型
代碼如下:
復(fù)制代碼 代碼如下:
public void testDateTime() throws SQLException
{
       IDBFace DBFace =DBFactory.createMySqlFace();
DBFace.connect();
       //清空表
       String strDelete ="delete from time_table";
       DBFace.update(strDelete);
       //添加

       String strInsert ="insert into time_table(CreateDateTime) values(20070409132013)";
       DBFace.update(strInsert);
       //獲取
       String strSelect ="select * from time_table";
       ResultSet rsBuffer =DBFace.select(strSelect);
       while(rsBuffer.next())
       {
              Timestamp tsBuffer =rsBuffer.getTimestamp("CreateDateTime");
              System.out.println(tsBuffer.toString());
       }
       DBFace.close();
}

執(zhí)行結(jié)果: 2007-04-09 13:20:13.0
TimeStamp
A timestamp. The range is '1970-01-01 00:00:00' to partway through the year 2037. A TIMESTAMP column is useful for recording the date and time of an INSERT or UPDATE operation. The first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation if you don't assign it a value yourself. You can also set any TIMESTAMP column to the current date and time by assigning it a NULL value.
與DateTime類型非常相似
范圍為1970-01-01 主站蜘蛛池模板: 木兰县| 阳曲县| 桦南县| 杂多县| 格尔木市| 永兴县| 龙泉市| 德格县| 尚志市| 那曲县| 贡山| 鄯善县| 吴忠市| 迭部县| 克拉玛依市| 贺州市| 喜德县| 平顶山市| 扶绥县| 汝阳县| 高密市| 桦川县| 吉林省| 鄂托克旗| 华池县| 三穗县| 奉贤区| 保德县| 达州市| 鹤峰县| 房产| 富民县| 塘沽区| 舞阳县| 府谷县| 焉耆| 白城市| 岑溪市| 贺兰县| 灵台县| 集贤县|