當前位置:首頁 » 存儲配置 » 資料庫存儲時間類型

資料庫存儲時間類型

發布時間: 2023-09-27 00:32:38

⑴ 時間在資料庫里用什麼形式保存

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)]
兩位或四位格式的年。默認是四位格式。

⑵ 資料庫的日期類型欄位該如何選擇

Mysql中經常用來存儲日期的數據類型有三種:Date、Datetime、Timestamp。

Date數據類型:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為「YYYY-MM-DD」。支持的時間范圍為「1000-00-00」到「9999-12-31」。

Datetime類型:存儲既有日期又有時間的數據。存儲和顯示的格式為 「YYYY-MM-DD HH:MM:SS」。支持的時間范圍是「1000-00-00 00:00:00」到「9999-12-31 23:59:59」。

Timestamp類型:也是存儲既有日期又有時間的數據。存儲和顯示的格式跟Datetime一樣。支持的時間范圍是「1970-01-01 00:00:01」到「2038-01-19 03:14:07」。

所有不符合上面所述格式的數據都會被轉換為相應類型的0值。(0000-00-00或者0000-00-00 00:00:00)

⑶ 資料庫的日期型數據應該用什麼類型接受

1、如果資料庫中存儲時間的數據類型為datetime,那就避免在後台代碼(*.aspx.cs)中轉化時間格式,將格式轉化的任務放到界面代碼(*.aspx)上。
無論獲取的時間是什麼格式的,在後台不要對這個時間的值進行任何操作(比如賦值等,否則系統會將時間隱式轉換),而是直接在界面代碼(*.aspx)用DataBinder、Eval等方法來直接進行格式化:
後台關鍵代碼:
<span style="white-space:pre"> </span>DataTable dt = new NewsManager().SelectById(newsid); //這里得到的dt為從直接資料庫中查詢到的數據
<span style="white-space:pre"> </span> repNews.DataSource =dt;
repNews.DataBind();

前台關鍵代碼:
<span style="white-space:pre"> </span><asp:Repeater ID="repNews" runat="server">
<ItemTemplate>
<p class="con_time">
發布時間:
<%# DataBinder.Eval(Container.DataItem,"createTime","{0:yyyy-MM-dd HH:mm:ss}") %> <%--此處createTime為上面dt中的欄位名--%>
</p>
</ItemTemplate>
</asp:Repeater>

⑷ 資料庫中哪種日期存儲格式,性能會更好

資料庫中日期存儲格式有幾種,需要根據你的需求抉擇:

1、timestamp:既能保證性能又能使用自帶時間日期函數
2、int :適合作時間的比較,但是可讀性差
3、datetime :適合資料庫數據導出,可讀性高,但查詢性能不高。(不推薦)
4、varchar:不支持時區。(不推薦)

⑸ 資料庫存儲日期時間數據時,使用數據類型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)

⑹ 資料庫中 日期的幾種表示方法

Mysql中經常用來存儲日期的數據類型有三種:Date、Datetime、Timestamp。

【1】Date數據類型:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為「YYYY-MM-DD」。支持的時間范圍為「1000-00-00」到「9999-12-31」。

【2】Datetime類型:存儲既有日期又有時間的數據。存儲和顯示的格式為 「YYYY-MM-DD HH:MM:SS」。支持的時間范圍是「1000-00-00 00:00:00」到「9999-12-31 23:59:59」。

【3】Timestamp類型:也是存儲既有日期又有時間的數據。存儲和顯示的格式跟Datetime一樣。支持的時間范圍是「1970-01-01 00:00:01」到「2038-01-19 03:14:07」。

(6)資料庫存儲時間類型擴展閱讀

切記不要用字元串存儲日期

這種存儲日期的方式的優點還是有的,就是簡單直白,容易上手。但是,這是不正確的做法,主要會有下面兩個問題:

1、字元串佔用的空間更大。

2、字元串存儲的日期比較效率比較低(逐個字元進行比對),無法用日期相關的 API 進行計算和比較。

DateTime 類型沒有時區信息的

DateTime 類型是沒有時區信息的(時區無關),DateTime 類型保存的時間都是當前會話所設置的時區對應的時間。

當你的時區更換之後,比如你的伺服器更換地址或者更換客戶端連接時區設置的話,就會導致你從資料庫中讀出的時間錯誤。不要小看這個問題,很多系統就是因為這個問題鬧出了很多笑話。

Timestamp 和時區有關。Timestamp 類型欄位的值會隨著伺服器時區的變化而變化,自動換算成相應的時間,說簡單點就是在不同時區,查詢到同一個條記錄此欄位的值會不一樣。

⑺ 資料庫中日期型數據的長度是幾個位元組

MYSQL,datetime類型長度填8位。

日期型(DATETIME)數據是表示日期數據,用字母D表示。日期的默認格式是{mm/dd/yyyy},其中mm表示月分,dd表示日期,yyyy表示年度,固定長度為8位。日期范圍為介於 100 到 9999 年的日期或時間數值。

(7)資料庫存儲時間類型擴展閱讀:

MySQL主要分為三種類型:字元串,日期和數字(每種類型實際上都有一個二進制類型,但並不常用)。

*字元串分為定長char和不定長度varchar,char以聲明的長度為准,而varchar的長度與值的長度和字元集有關。

*數字和日期均為固定長度的欄位。不同的類型具有不同的長度。例如,Datetime是5.6.4之後的5個位元組,之前的是8個位元組;timestamp是4個位元組,因為其存儲整數,小數部分的長度通常與位數有關。

⑻ sql資料庫中的時間類型

滿意答案。9級2010-11-29使用nvarchar對於前期的實現比較容易,但性能及後期使用及後期需求開發比較困難
如按時間排序,資料庫類型校驗,根據時間段查詢,根據時間的分組統計等等方面造成的影響比較大
追問:
如果用datetime
我的MyEclipse用Hibernate轉換時是timestamp類型的
在用模糊查詢查時間時有點糾結啊
老是報不能轉換的錯誤
回答:
用hibernate啊
那你在配置文件注入類型不用時間戳
改成這個試試java.util.Date
補充:
hibernate項目好幾年沒做過了
原來在資料庫時間建模和操縱時習慣用java.sql.Timestamp與資料庫中DateTime對應,但業務流通層,模型里還是用java.util.Date
因為這些時間直接的轉換都是一樣的方便,而且這樣做邏輯理解上比較直觀
記憶中是沒有出現過錯誤,Timestamp在現在使用數據源時經常使用
追問:
知道用date類型的哇
但是hibernate自動生成的就是timestamp類型
不改配置文件
就用timestamp怎麼做啊?總不能每次生成就改一次配置文件吧.....
追問:
還有我做的是模糊查詢
在form裡面時間又是string類型的
轉換有點麻煩
回答:
你在createSQLQuery方法後面在使用
addScalar方法傳入你datetime的實體對應名和hibernate類型試一下吧
補充:
這個的確比較麻煩,你可以寫個公共轉換方法進行轉換
就是字元串根據你的時間格式進行取出時間long
然後轉換就可以了
大概這樣子
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat();

⑼ 資料庫datetime是什麼類型

datetime類型:可用於需要同時包含日期和時間信息的值。

datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式檢索與顯示 DATETIME 類型。

DateTime日期和時間部分,可以表示1753年1月1日00:00:00.000到9999年12月31日23:59:59.997之間的日期范圍,精確到3.33ms,它需要8位元組的存儲空間,其中前4位元組用於存儲1900年1月1日之前或之後的天數。該值分為正數和負數,正數表示此日期之後的天數,負數表示此日期之前的天數;最後4個位元組用於存儲從零開始指定的時間之後的毫秒數。

(9)資料庫存儲時間類型擴展閱讀

在MySQL中創建表時,

通過類型介紹,可以方便地選擇正確的數據類型。然而,選擇datetime或timestamp戳可能有點困難。這兩種日期時間類型各有優點:datetime的日期范圍比較大;timestamp的存儲空間比較小,只有日期時間的一半。

此外,timestamp類型的列還有一個特性:默認情況下,在插入和更新數據時,timestamp列將自動填充/更新為當前的(CURRENT_TIMESTAMP)的意思是如果你不在乎,MySQL會幫你處理的。

⑽ 資料庫的日期類型

1. 數據類型
MS SQL Server 2005 有 datetime 和 smalldatetime 兩種格式的日期時間數據類型。注意:沒有單獨的日期或時間類型。
2.資料庫內部用兩個 4 位元組的整數存儲 datetime 數據類型的值。第一個 4 位元組存儲基礎日期(即 1900-1-1, base date )之前或之後的日期。日期范圍為 1753-1-1 至 9999-12-31 。當日期為 1900-1-1 時值為 0 ;之前的日期是負數;之後日期是正數。另外一個 4 位元組存儲以午夜後三又三分之一( 10/3 )毫秒數所代表的每天的時間。精確度為百分之三秒(等於 3.33 毫秒或 0.00333 秒)。如下表所示,把值調整到 .000 、 .003 、或 .007 秒的增量。
3.SQL 如下:
查詢中,我們常常需要搜索指定日期范圍內的數據,比如返回 1998-01-01 當天內的數據,你可能會這樣寫:
Date >= '1998-01-01 00:00:00.000' and date <= '1998-01-01 23:59:59.999'
根據上面的調整規則,其實這句語句的實際搜索范圍為:
date >= '1998-01-01 00:00:00.000' and date <= '1998-01-02 00:00:00.000' 你會看到這包括了 1998-01-02 的數據,所以最好的正確的搜索語句為:
date >= '1998-01-01 00:00:00.000' and date < '1998-01-02 00:00:00.000'
4. smalldatetime 數據類型存儲日期和每天的時間,但精確度低於 datetime 。 SQL Server 將 smalldatetime 的值存儲為兩個 2 位元組的整數。第一個 2 位元組存儲 1900-1-1 後的天數。另外一個 2 位元組存儲午夜後的分鍾數。日期范圍從 1900-1-1 到 2079-6-6 ,時間精確到分鍾。 29.998 秒或更低的 smalldatetime 值向下舍入為最接近的分鍾, 29.999 秒或更高的 smalldatetime 值向上舍入為最接近的分鍾。
--returns time as 12:35
SELECT CAST ( '2000-05-08 12:35:29.998' AS smalldatetime )
GO
--returns time as 12:36
SELECT CAST ( '2000-05-08 12:35:29.999' AS smalldatetime )
GO4.

熱點內容
sqlce資料庫 發布:2024-11-30 07:41:21 瀏覽:725
奇瑞5x配置如何 發布:2024-11-30 07:39:50 瀏覽:641
魔域資料庫修改 發布:2024-11-30 07:37:10 瀏覽:130
c語言開發者 發布:2024-11-30 07:30:34 瀏覽:387
西門子觸摸屏字體無法編譯 發布:2024-11-30 07:26:13 瀏覽:301
雲伺服器低 發布:2024-11-30 07:24:47 瀏覽:300
這首歌密碼是多少 發布:2024-11-30 07:19:35 瀏覽:523
c語言數組最大長度 發布:2024-11-30 07:16:51 瀏覽:367
在線編程刷題 發布:2024-11-30 07:15:17 瀏覽:72
監控管理伺服器有什麼要求 發布:2024-11-30 07:09:46 瀏覽:172