使用MySQL查詢時間并將其轉換為指定格式是常見的任務。本文將介紹如何在MySQL中進行時間轉換。
獲取當前時間
使用MySQL中的NOW函數可以獲取當前的日期和時間。NOW函數返回一個時間戳值,表示當前日期和時間。以下是獲取當前時間的示例:
SELECT NOW();
上述查詢將返回類似下面的結果:
2021-09-01 10:57:22
上述時間戳格式并不方便閱讀,我們可以使用DATE_FORMAT函數將其轉換為更易讀的格式。
使用DATE_FORMAT函數轉換時間格式
DATE_FORMAT函數可以將日期和時間格式化為指定的格式。以下是使用DATE_FORMAT函數將當前時間格式化為年月日時分秒的格式:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
上述查詢將返回格式如下的結果:
2021-09-01 10:57:22
其中,DATE_FORMAT函數的第一個參數是要格式化的時間戳值,第二個參數是要使用的日期格式字符串。格式字符串由兩個部分組成:日期格式和時間格式。可以在日期格式和時間格式之間使用任意字符分隔。
將字符串轉換為時間
在MySQL中,可以使用STR_TO_DATE函數將字符串轉換為日期和時間。以下是使用STR_TO_DATE函數將字符串轉換為日期和時間的示例:
SELECT STR_TO_DATE('2021-09-01 10:57:22', '%Y-%m-%d %H:%i:%s');
上述查詢將返回一個時間戳值,表示2021年9月1日10點57分22秒。
STR_TO_DATE函數的第一個參數是要轉換的字符串,第二個參數是一個日期格式字符串,其中包含字符串中日期和時間的格式。
使用UNIX時間戳
UNIX時間戳是指從1970年1月1日00:00:00以來經過的秒數。在MySQL中,可以使用UNIX_TIMESTAMP函數獲取當前時間的UNIX時間戳:
SELECT UNIX_TIMESTAMP();
上述查詢將返回類似下面的結果:
1630513963
我們可以將UNIX時間戳轉換為時間格式,以便更好地讀取。以下是使用FROM_UNIXTIME函數將UNIX時間戳轉換為時間格式的示例:
SELECT FROM_UNIXTIME(1630513963, '%Y-%m-%d %H:%i:%s');
上述查詢將返回格式如下的結果:
2021-09-01 10:46:03
FROM_UNIXTIME函數的第一個參數是要轉換的UNIX時間戳,第二個參數是要使用的日期格式字符串。