MySQL数据库中支持多种时间类型,包括DATE、TIME、DATETIME、TIMESTAMP等。在实际应用中,很多场景需要进行时间类型转换。下面我们来看一些常见的时间类型转换。
1. 将DATE或DATETIME类型转换成UNIX时间戳
SELECT UNIX_TIMESTAMP(date_field) FROM table_name; SELECT UNIX_TIMESTAMP(datetime_field) FROM table_name;
2. 将UNIX时间戳转换成DATE或DATETIME类型
SELECT FROM_UNIXTIME(unix_timestamp_field,'%Y-%m-%d') FROM table_name; SELECT FROM_UNIXTIME(unix_timestamp_field,'%Y-%m-%d %H:%i:%s') FROM table_name;
3. 将DATE类型转换成DATETIME类型
SELECT CONCAT(SUBSTR(date_field,1,10),' 00:00:00') FROM table_name;
4. 将DATETIME类型转换成DATE类型
SELECT date_format(datetime_field,'%Y-%m-%d') FROM table_name;
5. 将字符串类型转换成DATE类型
SELECT STR_TO_DATE(string_field,'%Y-%m-%d') FROM table_name;
6. 将时间戳转换成GMT格式时间
SELECT FROM_UNIXTIME(unix_timestamp_field,'%a, %d %b %Y %H:%i:%s GMT') FROM table_name;
通过上述常见的时间类型转换方式,我们可以更加灵活地应用MySQL中时间类型。