資料庫日期類型
❶ 資料庫中日期型數據如何查詢
我的習慣是先轉化為實數,如許就沒有次序、分隔符等問題。ADO+Access2K中可行,其它引擎未知。
❷ 資料庫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個位元組用於存儲從零開始指定的時間之後的毫秒數。
(2)資料庫日期類型擴展閱讀
在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.
❹ 資料庫的日期型數據應該用什麼類型接受
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>
❺ 在SQL-Server中關於日期的數據類型有哪些
有datetime和smalldatetime兩種格式的日期時間數據類型,如下:
1、datetime
資料庫內部用兩個4位元組的整數存儲datetime數據類型的值。
第一個4位元組存儲基礎日期(即1900-1-1, base date)之前或之後的日期。
日期范圍為1753-1-1至9999-12-31。當日期為1900-1-1時值為0,之前的日期是負數;之後日期是正數,另外一個4位元組存儲以午夜後三又三分之一(10/3)毫秒數所代表的每天的時間。
2、smalldatetime
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)
GO
注意:沒有單獨的日期或時間類型。
❻ 資料庫查詢日期格式
實體映射類的上傳時間屬性的getter方法上
添加一個@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+08")註解
類似下面這樣:
java">{
@DateTimeFormat(pattern="yyyy-MM-dd")
privateDateuploadTime;
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+08")
publicDategetUploadTime(){
returnuploadTime;
}
publicvoidsetUploadTime(DateuploadTime){
this.uploadTime=uploadTime;
}
}
❼ 資料庫日期 用日期類型還是VARCHAR
建議用定長的類型,日期類型肯定比varchar類型的查找等操作的性能要高,要不可以用int類型保存日間戳,這樣更好,謙容性也好
❽ 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();
❾ 資料庫中有哪幾種date類型的格式
日期格式有還幾種,有比較精確一點的時間,也初象一點的,一般有,拿2006年5月12號為例來說吧,它可以為
2006-05-12 11:06:08
2006-05-12
20060512110608
20060512
2006/05/12
05-12-2006