資料庫日期時間格式
① datetime數據類型是什麼
DATETIME類型是Date和Time的組合。支持的范圍從'1000-01-01 00:00:00.000000' 到'9999-12-31 23:59:59.999999'。
Mysql以'YYYY-MM-DD hh:mm:ss[.fraction]'的格式顯示DATETIME類型。但允許使用字元串或數字向DATETIME列賦值。字面常量轉換規則如下:
表中的任何TIMESTAMP或DATETIME列都可以具有自動初始化和更新屬性。
1、格式為「YYYY-MM-DD hh:mm:ss」或「YY-MM-DD hh:mm:ss」字元串。任何標點字元都可以用作日期部分或時間部分之間的分隔符。
2、在日期和時間部分和小數秒部分之間識別的唯一分隔符是小數點。
3、日期和時間部分可以用T而不是空格分隔。例如,'2012-12-31 11:30:45' '2012-12-31 t11:30:45 '是等價的。
4、格式為'YYYYMMDDhhmmss'或'YYMMDDhhmmss'無分隔符的字元串,只要該字元串具有日期的意義。例如,'20070523091528'和'070523091528'被解釋為'2007-05-23 09:15:28',但'071122129015'是非法的(它有一個無意義的分鍾部分),會變成'0000-00-00 00:00:00'。
5、YYYYMMDDhhmmss或YYMMDDhhmmss格式的數字,只要該數字作為日期有意義。例如,19830905132800和830905132800被解釋為「1983-09-05 13:28:00」。
datetime mysql 格式化的方法是:
要插入當前日期(而不是時間),則可以使用CURDATE()MySQL的內置函數。語法是INSERTINTOyourTableNamevalues(curdate())。
或者,如果您想同時添加日期和時間,則可以使用NOW()MySQL的內置函數。語法是INSERTINTOyourTableNamevalues(now())。
為了理解這兩種語法,讓我們首先創建一個表。創建表的查詢如下mysql>createtableNowAndCurdateDemo.
−>(。
−>YourDueDatedatetime。
−>)。
實現這兩個功能以插入當前日期和日期時間表。查詢插入日期如下mysql>(curdate())。
mysql>(now())。
② 資料庫的日期類型
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、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)
⑤ 資料庫時間格式的轉換
c#
DateTime.ToString("yyyy-MM-DD")
需要用DateTime的時候在把STRING換回DateTime
=================================================================
Asp.net日期字元串格式化顯示--DateTime.ToString()用法詳解
我們經常會遇到對時間進行轉換,達到不同的顯示效果,默認格式為:2006-6-6 14:33:34
如果要換成成200606,06-2006,2006-6-6或更多的格式該怎麼辦呢?
這里將要用到:DateTime.ToString的方法(String, IFormatProvider)
示例:
using System;
using System.Globalization;
String format="D";
DateTime date=DataTime.Now;
Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo));
結果輸出
Thursday, June 16, 2006
在這里列出了參數format格式詳細用法
=======================
格式字元 關聯屬性/說明
d ShortDatePattern
D LongDatePattern
f 完整日期和時間(長日期和短時間)
F FullDateTimePattern(長日期和長時間)
g 常規(短日期和短時間)
G 常規(短日期和長時間)
m、M MonthDayPattern
r、R RFC1123Pattern
s 使用當地時間的 SortableDateTimePattern(基於 ISO 8601)
t ShortTimePattern
T LongTimePattern
u 用於顯示通用時間的格式
U 使用通用時間的完整日期和時間(長日期和長時間)
y、Y YearMonthPattern
下表列出了可被合並以構造自定義模式的模式
========================================
這些模式是區分大小寫的;例如,識別「MM」,但不識別「mm」。如果自定義模式包含空白字元或用單引號括起來的字元,則輸出字元串頁也將包含這些字元。未定義為格式模式的一部分或未定義為格式字元的字元按其原義復制。
格式模式 說明 :
d 月中的某一天。一位數的日期沒有前導零。
dd 月中的某一天。一位數的日期有一個前導零。
ddd 周中某天的縮寫名稱,在 AbbreviatedDayNames 中定義。
dddd 周中某天的完整名稱,在 DayNames 中定義。
M 月份數字。一位數的月份沒有前導零。
MM 月份數字。一位數的月份有一個前導零。
MMM 月份的縮寫名稱,在 AbbreviatedMonthNames 中定義。
MMMM 月份的完整名稱,在 MonthNames 中定義。
y 不包含紀元的年份。如果不包含紀元的年份小於 10,則顯示不具有前導零的年份。
yy 不包含紀元的年份。如果不包含紀元的年份小於 10,則顯示具有前導零的年份。
yyyy 包括紀元的四位數的年份。
gg 時期或紀元。如果要設置格式的日期不具有關聯的時期或紀元字元串,則忽略該模式。
h 12 小時制的小時。一位數的小時數沒有前導零。
hh 12 小時制的小時。一位數的小時數有前導零。
H 24 小時制的小時。一位數的小時數沒有前導零。
HH 24 小時制的小時。一位數的小時數有前導零。
m 分鍾。一位數的分鍾數沒有前導零。
mm 分鍾。一位數的分鍾數有一個前導零。
s 秒。一位數的秒數沒有前導零。
ss 秒。一位數的秒數有一個前導零。
f 秒的小數精度為一位。其餘數字被截斷。
ff 秒的小數精度為兩位。其餘數字被截斷。
fff 秒的小數精度為三位。其餘數字被截斷。
ffff 秒的小數精度為四位。其餘數字被截斷。
fffff 秒的小數精度為五位。其餘數字被截斷。
ffffff 秒的小數精度為六位。其餘數字被截斷。
fffffff 秒的小數精度為七位。其餘數字被截斷。
t 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項的第一個字元(如果存在)。
tt 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項(如果存在)。
z 時區偏移量(「+」或「-」後面僅跟小時)。一位數的小時數沒有前導零。例如,太平洋標准時間是「-8」。
zz 時區偏移量(「+」或「-」後面僅跟小時)。一位數的小時數有前導零。例如,太平洋標准時間是「-08」。
zzz 完整時區偏移量(「+」或「-」後面跟有小時和分鍾)。一位數的小時數和分鍾數有前導零。例如,太平洋標准時間是「-08:00」。
: 在 TimeSeparator 中定義的默認時間分隔符。
/ 在 DateSeparator 中定義的默認日期分隔符。
% c 其中 c 是格式模式(如果單獨使用)。如果格式模式與原義字元或其他格式模式合並,則可以省略「%」字元。
\ c 其中 c 是任意字元。照原義顯示字元。若要顯示反斜杠字元,請使用「\\」。
只有上面第二個表中列出的格式模式才能用於創建自定義模式;在第一個表中列出的標准格式字元不能用於創建自定義模式。自定義模式的長度至少為兩個字元;例如,
DateTime.ToString( "d") 返回 DateTime 值;「d」是標准短日期模式。
DateTime.ToString( "%d") 返回月中的某天;「%d」是自定義模式。
DateTime.ToString( "d ") 返回後面跟有一個空白字元的月中的某天;「d」是自定義模式。
比較方便的是,上面的參數可以隨意組合,並且不會出錯,多試試,肯定會找到你要的時間格式
如要得到2005年06月 這樣格式的時間
可以這樣寫:
date.ToString("yyyy年MM月", DateTimeFormatInfo.InvariantInfo)
如此類推.
下面列出一些Asp.net中具體的日期格式化用法:
============================================
1.綁定時格式化日期方法:
<ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " >
<ITEMSTYLE WIDTH= "18% " > </ITEMSTYLE >
</ASP:BOUNDCOLUMN >
2.數據控制項如DataGrid/DataList等的件格式化日期方法:
e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString();
3.用String類轉換日期顯示格式:
String.Format( "yyyy-MM-dd ",yourDateTime);
4.用Convert方法轉換日期顯示格式:
Convert.ToDateTime("2005-8-23").ToString
("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo); //支持繁體資料庫
5.直接用ToString方法轉換日期顯示格式:
DateTime.Now.ToString("yyyyMMddhhmmss");
DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")
6.只顯示年月
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}")
7.顯示時間所有部分,包括:年月日時分秒
<asp:BoundColumn DataField="收款時間" HeaderText="收款時間"
DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}">
</asp:BoundColumn>
⑥ 資料庫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個位元組用於存儲從零開始指定的時間之後的毫秒數。
(6)資料庫日期時間格式擴展閱讀
在MySQL中創建表時,
通過類型介紹,可以方便地選擇正確的數據類型。然而,選擇datetime或timestamp戳可能有點困難。這兩種日期時間類型各有優點:datetime的日期范圍比較大;timestamp的存儲空間比較小,只有日期時間的一半。
此外,timestamp類型的列還有一個特性:默認情況下,在插入和更新數據時,timestamp列將自動填充/更新為當前的(CURRENT_TIMESTAMP)的意思是如果你不在乎,MySQL會幫你處理的。
⑦ oracle 資料庫日期格式怎麼只要年月日
可通過用PL/SQL來改變日期格式。
1、登錄PL/SQL。
2、登錄後,點擊菜單欄,工具—首選項。
3、左側列表找到「日期/時間」。
4、可通過右側的各種方式進行自定義的格式和自帶的格式來進行修改,修改後點擊「確定」按鈕保存即可。
⑧ 資料庫datetime是什麼類型
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)