MySQL中DATETIME、DATE和TIMESTAMP類型的區別

1、TIMESTAMP 數據庫

顯示格式:YYYY-MM-DD HH:MM:SS 字符串

時間範圍:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59'] select

TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  在建立新記錄和修改現有記錄的時候都對這個數據列刷新。 方法

TIMESTAMP DEFAULT CURRENT_TIMESTAMP  在建立新記錄的時候把這個字段設置爲當前時間,但之後修改時,再也不刷新它。 im

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。 co

二、一個表能夠存在多個TIMESTAMP列,但一個表只有一個TIMESTAMP類型的字段能夠在默認值或者UPDATE部分用CURRENT_TIMESTAMP,即設置爲數據更新而改變爲數據庫系統當前值。 字符

三、TIMESTAMP列的默認值是CURRENT_TIMESTAMP常量值。當紀錄數據發生變化的時候,TIMESTAMP列會自動將其值設定爲CURRENT_TIMESTAMP。 time

四、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`;

 

2、DATETIME

顯示格式:YYYY-MM-DD HH:MM:SS

時間範圍:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']

 

3、DATE

顯示格式:YYYY-MM-DD

時間範圍:['1000-01-01'到'9999-12-31']

 

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'

相關文章
相關標籤/搜索