在MySQL數(shù)據(jù)庫中,有時候我們需要將字符串類型的日期時間數(shù)據(jù)轉換成時間戳,以便更好地進行處理和比較。下面,就讓我們來了解如何使用MySQL將字符串轉換成時間戳。
我的MySQL版本是5.7.30,使用的是以下這個表:
CREATE TABLE `test_time` ( `id` int(11) NOT NULL AUTO_INCREMENT, `time` datetime DEFAULT NULL, `timestamp` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `test_time` (`id`, `time`, `timestamp`) VALUES (1,'2020-01-01 01:01:01', 0), (2,'2020-02-02 02:02:02', 0), (3,'2020-03-03 03:03:03', 0), (4,'2020-04-04 04:04:04', 0);
首先,我們來看看如何使用UNIX_TIMESTAMP()函數(shù)將字符串轉換成時間戳:
UPDATE `test_time` SET `timestamp` = UNIX_TIMESTAMP(`time`);
可以看到,經過轉換后,時間戳已經被正確地存入了對應的行中。
除了UNIX_TIMESTAMP()函數(shù)之外,還有其他一些函數(shù)可以實現(xiàn)字符串轉時間戳的功能,例如STR_TO_DATE()、DATE_FORMAT()等,具體使用方法可參考MySQL文檔。