A. Mysql中DATETIME,DATE和TIMESTAMP類型的區別
MySQL日期與時間數據類型的區別請看下錶:
每種日期和時間類型都有一個有效范圍。如果插入的值超出相應范圍,系統會報錯並將相應的零值插入到資料庫中,各個類型的零值請看上表。
YEAR類型用4位數表示年份。范圍從1901~2155,插入超范圍的值時系統報錯並插入0000。
DATE類型用YYYY-MM-DD形式顯示日期。范圍從1000-01-01~9999-12-31插入超范圍的值時系統報錯並插入零值。此類型除了可接受YYYY-MM-DD和YYYYMMDD格式的輸入外,還可以識別其它一些不嚴格的語法格式,例如YYYY/MM/DD、YYYY.MM.DD等其他標點符號作為間隔的形式日期值的輸入。
TIME類型用HH:MM:SS形式顯示時間。其中MM和SS的取值范圍是0~59,HH的取值范圍比較特別其取值范圍是0~838,一般來講小時數的范圍是0~23,但是為了滿足特殊情況的需要,MySQL擴大了TIME類型的范圍,而且可以接受負數。TIME類型支持D HH:MM:S格式的時間表達字串,D表示天數,取值范圍0~34。例如,輸入30 21:15:26,系統會將小時部分按30*24+21轉換為741:15:26。除了標準的輸入方式HH:MM:SS外,此類型還可以接受一些非標準的輸入方式,例如,輸入12,系統會轉換為00:00:12、輸入1212,系統會轉換為
00:12:12、輸入121212,系統會轉換為12:12:12等。
DATETIME類型用YYYY-MM-SS HH:MM:SS形式顯示日期與時間。范圍從1000-01-01 00:00:00~9999-12-31 23:59:59插入超范圍的值尺搜時,系統報錯並插入零值(0000-00-00 00:00:00)。此類型除了可接受YYYY-MM-SS HH:MM:SS格式的輸入外,還可以識別YYYYMMSSHHMMSS形式的輸入值。例如,輸入20170117174856,陵正歷系統會轉換為
2017-01-17 17:48:56。
TIMESTAMP類型情況與DATETIME類型接近,但是它的取值范圍要比DATETIME類型窄很多,范圍從19700101080001~20380119111407(1970-01-01 08:00:01~2038-01-19 11:14:07)。**另外,TIMESTAMP類型還有一個特別之處,那就是它的值的時間部分是根據時區來顯示的,例如在東八區插入的TIMESTAMP類型值2017-01-16 18:04:25,在東七區的時間部分會顯示17:04:25,而在東九區則變為19:04:25,對於這一點我們要特別留意。**
我們在選擇日期與時間數據類型時,請根據實際需求選擇相應的類型,一般應選擇剛好夠用最好,這樣可節省系統資源。例如只需要知道日期的選擇DATE類型、需要同時知道日期與時間的就選擇DATETIME類型、僅僅需要記錄時間的則選擇TIME類型等。清扮
B. mysql資料庫里的日期用timestamp還是datetime好
Mysql中經常用來存儲日期的數據類型有2種:Date、Datetime.
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」。
C. SQL 中 date 與datetime的區別
區別1:
①date類型可用於需要一個日期值而不需要時間部分時;
②datetime類型:可用於需要同時包含日期和時間信息的值。
區別2:
①date:MySQL 以 'YYYY-MM-DD' 格式檢索與顯示date值;
②datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式檢索與顯示 DATETIME 類型。
(3)資料庫datedatetime擴展閱讀:
SQL:
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
1986年10月,美國國家標准協會對SQL進行規范後,以此作為關系式資料庫管理系統的標准語言(ANSI X3. 135-1986),1987年得到國際標准組織的支持下成為國際標准。
不過各種通行的資料庫系統在其實踐過程中都對SQL規范作了某些編改和擴充。
所以,實際上不同資料庫系統之間的SQL不能完全相互通用。
date:
(1)省略 年/月/日 顯示系統日期並提示輸入新的日期,不修改則可直接按回車鍵,要修改則直接輸入新日期。
⑵當機器開始啟動時,有自動處理文件(AUTOEXEC.BAT)被執行,則系統不提示輸入系統日期。否則,提示輸入新日期和時間。
DateTimePicker控制項:
C/S設計中的DateTimePicker控制項[1],有兩種操作模式:
1.下拉式日歷模式(預設)—允許用戶顯示一種能夠用來選擇日期的下拉式日歷。
2.時間格式模式—允許用戶在日期顯示中選擇一個欄位(例如:月、日、年等等),按下控制項右邊的上下箭頭來設置它的值。
可以自定義控制項的下拉式日歷的外觀。
使用各種顏色屬性,例如CalendarBackColor,CalendarForeColor,CalendarTitleBackColor,CalendarTitleForeColor和CalendarTrailingForeColor,允許創建屬於您自己的顏色方案。
可以使用鍵盤或滑鼠對控制項進行瀏覽。下拉式日歷有兩個按鈕使您能夠滾動月份數據出入視圖。
D. Oracle數據類型date和SQL server 2005 的數據類型datetime有什麼不同
不同之處在於
存儲方式,按正常來說的話
sql是碰搏以
年、月、日來存儲
但是oracle的話他得默認是以日、月、年來存儲,所以oracle的date有轉換函數來轉換。
另外就拿巧是datetime
和
date他們分享
數據笑敏祥庫的空間也是不同方式的。以sql和oracle自行的分享空間機制來說。額,我發現我啰嗦了。就講這些好了
E. 資料庫中DATETIME,DATE和TIMESTAMP類型 的區別
當你需要同時包含日期和時間信息的值時則使用DATETIME類型。MySQL以'YYYY-MM-DD HH:MM:SS'格式檢索和顯示DATETIME值。支持的范圍為'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(「支持」表示盡管先前的值可能工作,但沒有保證)。
當你只需要日期值而不需要時間部分時應使用DATE類型。MySQL用'YYYY-MM-DD'格式檢索和顯示DATE值。支持的范圍是'1000-01-01'到 '9999-12-31'。
TIMESTAMP列類型的屬性不固定,取決於MySQL版本和伺服器運行的SQL模式。這些屬性將在本節後面描述。
可以使用任何常見格式指定DATETIME、DATE和TIMESTAMP值:
'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS'格式的字元串。允許「不嚴格」語法:任何標點符都可以用做日期部分或時間部分之間的間割符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等價的。
'YYYY-MM-DD'或'YY-MM-DD'格式的字元串。這里也允許使用「不嚴格的」語法。例如,'98-12-31'、'98.12.31'、'98/12/31'和'98@12@31'是等價的。
'YYYYMMDDHHMMSS'或'YYMMDDHHMMSS'格式的沒有間割符的字元渣猜橡串,假定字元串對於日期類型是有意義的。例如,'19970523091528'和'970523091528'被解釋為'1997-05-23 09:15:28',但'971122129015'是不合法的(它有一個沒有意義的分鍾部分),將變為'0000-00-00 00:00:00'。
'YYYYMMDD'或'YYMMDD'格式的沒有間割符的字元串,假定字元串對於日期類型是有意義的。例如,'19970523'和'970523'被解釋為 '1997-05-23',但'971332'是不合法的(它有一個沒有意兆岩義的月和日部分),將變為如旁'0000-00-00'。
F. 資料庫中 日期的幾種表示方法
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)資料庫datedatetime擴展閱讀
切記不要用字元串存儲日期
這種存儲日期的方式的優點還是有的,就是簡單直白,容易上手。但是,這是不正確的做法,主要會有下面兩個問題:
1、字元串佔用的空間更大。
2、字元串存儲的日期比較效率比較低(逐個字元進行比對),無法用日期相關的 API 進行計算和比較。
DateTime 類型沒有時區信息的
DateTime 類型是沒有時區信息的(時區無關),DateTime 類型保存的時間都是當前會話所設置的時區對應的時間。
當你的時區更換之後,比如你的伺服器更換地址或者更換客戶端連接時區設置的話,就會導致你從資料庫中讀出的時間錯誤。不要小看這個問題,很多系統就是因為這個問題鬧出了很多笑話。
Timestamp 和時區有關。Timestamp 類型欄位的值會隨著伺服器時區的變化而變化,自動換算成相應的時間,說簡單點就是在不同時區,查詢到同一個條記錄此欄位的值會不一樣。
G. 資料庫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)
H. 資料庫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個位元組用於存儲從零開始指定的時間之後的毫秒數。
(8)資料庫datedatetime擴展閱讀
在MySQL中創建表時,
通過類型介紹,可以方便地選擇正確的數據類型。然而,選擇datetime或timestamp戳可能有點困難。這兩種日期時間類型各有優點:datetime的日期范圍比較大;timestamp的存儲空間比較小,只有日期時間的一半。
此外,timestamp類型的列還有一個特性:默認情況下,在插入和更新數據時,timestamp列將自動填充/更新為當前的(CURRENT_TIMESTAMP)的意思是如果你不在乎,MySQL會幫你處理的。
I. 資料庫表中欄位類型有哪些
資料庫表中欄位類型有二進制數據類型、字元數據類型、數字數據類型 等其中類型。具體類型如下所示:
1、二進制數據類型
Binary、Varbinary、Image
2、字元數據類型
Char,Varchar和 Text
3、Unicode數據類型
包括Nchar,Nvarchar和Ntext
4、日期和時間數據類型
包括Datetime, Smalldatetime, Date, TimeStamp
5、數字數據類型
數字數據類型包括正數和負數、小數和整數
6、貨幣數據類型
表示正的或者負的貨幣數量。
7、特殊數據類型
特殊的數據類型有3種,即Timestamp、Bit 和 Uniqueidentifier。
J. Mysql中的DATE和DATETIME有什麼區別
1、顯示格式的區別
Date顯示格式:YYYY-MM-DD;裂缺DateTime顯示格式:YYYY-MM-DD HH:mm:ss。
2、顯示範圍的區別
Date顯示範圍是1601-01-01 到 9999-01-01;DateTime顯示範圍是1601-01-01 00:00:00 到 9999-12-31 23:59:59。
3、應用場景的區別
當業務需求中只需要精確到天時,可以用Date這個時間格式,當業務需求中需要精確到秒時,洞臘可以用DateTime這個時間格式。
4、後台取肆顫辯值的區別
Date後台取值:@JSONField(format=」yyyy-MM-dd」);DateTime後台取值:@JSONField(format=」yyyy-MM-dd HH:mm:ss:SSS」)(這里只會精確到秒)。