1、DATETIME數據庫
顯示格式:YYYY-MM-DD HH:MM:SS
時間範圍:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']字符串
2、DATEselect
顯示格式:YYYY-MM-DD
時間範圍:['1000-01-01'到'9999-12-31']方法
3、TIMESTAMPim
顯示格式:YYYY-MM-DD HH:MM:SS
時間範圍:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']數據
TIMESTAMP注意點:時間
TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在建立新記錄和修改現有記錄的時候都對這個數據列刷新。
TIMESTAMP DEFAULT CURRENT_TIMESTAMP 在建立新記錄的時候把這個字段設置爲當前時間,但之後修改時,再也不刷新它。
TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在建立新記錄的時候把這個字段設置爲0,之後修改時刷新它。
TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss’ ON UPDATE CURRENT_TIMESTAMP 在建立新記錄的時候把這個字段設置爲給定值,之後修改時刷新它
一、TIMESTAMP列不爲空時,默認值能夠爲「0000-00-00 00:00:00」,但不能爲null。
二、一個表能夠存在多個TIMESTAMP列,但一個表只有一個TIMESTAMP類型的字段能夠在默認值或者UPDATE部分用CURRENT_TIMESTAMP,即設置爲數據更新而改變爲數據庫系統當前值。
三、TIMESTAMP列的默認值是CURRENT_TIMESTAMP常量值。當記錄數據發生變化的時候,TIMESTAMP列會自動將其值設定爲CURRENT_TIMESTAMP。
四、TIMESTAMP列建立後的格式是:
ALTER TABLE `course`
ADD COLUMN `birthday` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
ALTER TABLE `course`
ADD COLUMN `birthday` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP ;
ALTER TABLE `course`
ADD COLUMN `birthday` timestamp NULL AFTER `cname`;co
4、日期格式轉換
一、字符串轉日期
select STR_TO_DATE('2013-01-29 13:49:18', '%Y-%m-%d %H:%i:%s')
二、日期轉字符串
select DATE_FORMAT('2013-01-29 13:49:18', '%Y-%m-%d %H:%i:%s')
5、日期的中經常使用的年月日時分秒星期月份等獲取方法
select TIMESTAMP('2013-01-29 13:50:27');
select DATE('2013-01-29 13:50:27');
select YEAR('2013-01-29 13:50:27');
select MONTH(('2013-01-29 13:50:27');
select WEEK('2013-01-29 13:50:27');
select DAY('2013-01-29 13:50:27');
select TIME('2013-01-29 13:50:27');
select CURTIME();
select CURDATE();
select CURRENT_DATE;
select CURRENT_TIME;
select CURRENT_TIMESTAMP;
select NOW()
6、日期的運算:
SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 DAY);
-> '2013-01-30 13:50:27'
SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 HOUR);
-> '2013-01-29 14:50:27'
SELECT DATE_ADD('2013-01-29 13:50:27', INTERVAL 1 MONTH);
-> '2013-02-28 13:50:27'字符