資料庫里的時間存儲
1. 資料庫存儲日期時間數據時,使用數據類型datetime和datetime2有什麼區別
Datetime:
時間格式,對應於資料庫中的DateTime類型,對應於.NET裡面的System.
DateTime類型。DateTime支持日期從1753年1月1日到9999年12月31日,時間部分的精確度是3.33毫秒,它需要8位元組的存儲空間。
Datetime2:
時間格式,就sql
Server
2008
裡面新增的欄位類型。對應於資料庫中的DateTime2格式,對應於.NET裡面的System.
DateTime類型。DateTime2則支持從0001年01月01日到9999年12月31日,時間部分的精度是100納秒,佔用6到8位元組的存儲空間,取決於存儲的精度。
datetime2數據類型,類似於之前的datetime類型,不過其精度比較高,可以精確到小數點後面7位(100ns)
2. 資料庫里存時間是存long型的毫秒數好,還是日期格式好
當然是datetime好,直觀,與程序配合好,而且按時間段查詢方便,也能配合各種時間函數操作。
3. 資料庫中日期型數據的長度是幾個位元組
MYSQL,datetime類型長度填8位。
日期型(DATETIME)數據是表示日期數據,用字母D表示。日期的默認格式是{mm/dd/yyyy},其中mm表示月分,dd表示日期,yyyy表示年度,固定長度為8位。日期范圍為介於 100 到 9999 年的日期或時間數值。
(3)資料庫里的時間存儲擴展閱讀:
MySQL主要分為三種類型:字元串,日期和數字(每種類型實際上都有一個二進制類型,但並不常用)。
*字元串分為定長char和不定長度varchar,char以聲明的長度為准,而varchar的長度與值的長度和字元集有關。
*數字和日期均為固定長度的欄位。不同的類型具有不同的長度。例如,Datetime是5.6.4之後的5個位元組,之前的是8個位元組;timestamp是4個位元組,因為其存儲整數,小數部分的長度通常與位數有關。
4. 資料庫中哪種日期存儲格式,性能會更好
資料庫中日期存儲格式有幾種,需要根據你的需求抉擇:
1、timestamp:既能保證性能又能使用自帶時間日期函數
2、int :適合作時間的比較,但是可讀性差
3、datetime :適合資料庫數據導出,可讀性高,但查詢性能不高。(不推薦)
4、varchar:不支持時區。(不推薦)
5. 時間在資料庫里用什麼形式保存
Oracle資料庫
數據類型為 DATE
包含 世紀、年、月、日、時、分、秒。
佔用7 個位元組,上面每個部分1 個位元組
SQL Server 2005 以前版本
包含兩種數據類型:
smalldatetime
佔用4 位元組,范圍1900-1-1~2079-6-6 精度到¡ 分¡
datetime
佔用8 位元組,范圍1753-1-1~9999-12-31 精度到 百分之三秒
SQL Server 2008 新增
time 00:00:00.0000000 到 23:59:59.9999999
固定 5 個位元組,是使用默認的 100ns 秒的小數部分精度時的默認存儲大小。
date 0001-01-01 到 9999-12-31
固定 3 個位元組
datetime2
日期范圍 0001-01-01 到 9999-12-31
時間范圍 00:00:00 到 23:59:59.9999999
精度小於 3 時為 6 個位元組;精度為 3 和 4 時為 7 個位元組。
datetimeoffset
日期范圍 0001-01-01 到 9999-12-31
時間范圍 00:00:00 到 23:59:59.9999999
時區偏移量范圍 -14:00 到 +14:00
默認值為 10 個位元組的固定大小,默認的秒的小數部分精度為100ns
MySQL
DATE
日期。支持的范圍為'1000-01-01'到'9999-12-31'
DATETIME
日期和時間的組合。支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。
TIMESTAMP[(M)]
時間戳。范圍是'1970-01-01 00:00:00'到2037 年
TIME
時間。范圍是'-838:59:59'到'838:59:59'。
YEAR[(2|4)]
兩位或四位格式的年。默認是四位格式。
6. mysql資料庫一般存儲時間都是用什麼類型便於在通過時間進行檢索
用bigint存儲,檢索效率高。
如果你想節約存儲,還可以用int,省去毫秒。
7. 資料庫 存儲時間
資料庫存儲時間有兩種方式:
1、 使用Timestamp,則會在資料庫里存儲:2013-07-16 07:20:01。
在不同時區,顯示的都是2013-07-16 07:20:01,但其實他們並不是同一時間了。
2、存儲事件發生的時間毫秒值,在不同時區解析出來的時間表示不一樣,但表達都是同一時間,能解決時區問題。
8. mysql資料庫中的時間用哪個欄位存儲
儲存時間,常用的有三個選擇datetime、timestamp、int。昨夜同事問到了,於是今天就總結一下自己的理解。插入效率:datetime > timestamp > int讀取效率:int > timestamp > datetime儲存空間:datetime > timestamp = int具體上面的實驗數據可以看這篇文章。