MySQL是一種關系型數據庫管理系統,是開源軟件,因此,擁有著海量的使用者。其中的日期和時間處理是數據庫中非常重要的一部分。MySQL 支持大量的日期和時間類型,并且具有一些有用的函數支持,例如,計算兩個日期之間有多少天,或將時間戳轉換為日期或將日期轉換為時間戳等。
MySQL中支持的日期和時間類型有:DATE、TIME、DATETIME、TIMESTAMP和YEAR。
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL DEFAULT '',
`birth_date` date NOT NULL,
`hire_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上述代碼創建了一個名為 user 的表,其中包含四個字段:id、name、birth_date和hire_time。
DATE類型存儲日期,格式為“YYYY-MM-DD”。
INSERT INTO `user` (`name`, `birth_date`) VALUES ('Tom', '1995-04-01');
上述代碼在user表中插入了一條數據,其中包含了名為Tom、出生日期為1995-04-01的記錄。
TIME類型存儲時間,格式為“HH:MM:SS”。
INSERT INTO `user` (`name`, `birth_date`, `hire_time`) VALUES ('Mary', '1987-08-23', '2020-02-12 10:35:27');
上述代碼在user表中插入了一條數據,其中包含了名為Mary、出生日期為1987-08-23、雇傭時間為 2020-02-12 10:35:27 的記錄。
DATETIME類型存儲日期和時間,格式為“YYYY-MM-DD HH:MM:SS”。
TIMESTAMP類型存儲的值為從“1970-01-01 00:00:00”以來的秒數,而不是存儲實際的日期或時間。
YEAR類型存儲2位或4位的年份。
SELECT name, birth_date, YEAR(birth_date) FROM user;
上述代碼使用了 YEAR 函數,用于從用戶表中選擇出姓名、出生日期和年份。
除了這些基本類型和函數,MySQL還支持許多其他日期和時間函數,如 NOW(),DATE_ADD(),DATE_SUB()等等。運用這些函數,可以實現對日期與時間的多種操作。
上一篇mysql存圖片數據類型
下一篇mysql 時間3天后