MySQL中日期和時間戳轉(zhuǎn)換之字符到DATE和TIMESTAMP的相互轉(zhuǎn)換
在MySQL中,經(jīng)常需要在 DATE
、TIMESTAMP
和字符串之間進行相互轉(zhuǎn)換。以下是一些常見的轉(zhuǎn)換方法:
1. 字符串到日期/時間類型
字符串轉(zhuǎn) DATE:
使用
STR_TO_DATE()
函數(shù)將字符串轉(zhuǎn)換為DATE
類型。你需要提供字符串的格式。SELECT STR_TO_DATE('2024-08-24', '%Y-%m-%d') AS my_date;
字符串轉(zhuǎn) TIMESTAMP:
同樣使用
STR_TO_DATE()
函數(shù),但格式要包括時間部分。SELECT STR_TO_DATE('2024-08-24 14:35:00', '%Y-%m-%d %H:%i:%s') AS my_timestamp;
2. 日期/時間類型到字符串
DATE 轉(zhuǎn)字符串:
使用
DATE_FORMAT()
函數(shù)將DATE
轉(zhuǎn)換為指定格式的字符串。SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS date_str;
TIMESTAMP 轉(zhuǎn)字符串:
使用
DATE_FORMAT()
函數(shù)將TIMESTAMP
轉(zhuǎn)換為指定格式的字符串。SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS timestamp_str;
3. 日期類型和時間戳類型之間的轉(zhuǎn)換
DATE 轉(zhuǎn) TIMESTAMP:
DATE
類型只有日期部分,沒有時間部分,MySQL 在轉(zhuǎn)換時會默認將時間部分設(shè)置為00:00:00
。SELECT CAST('2024-08-24' AS DATETIME) AS date_to_timestamp;
TIMESTAMP 轉(zhuǎn) DATE:
使用
DATE()
函數(shù)從TIMESTAMP
中提取日期部分。SELECT DATE(NOW()) AS timestamp_to_date;
4. UNIX_TIMESTAMP 和 DATE/TIMESTAMP 的相互轉(zhuǎn)換
UNIX_TIMESTAMP 轉(zhuǎn) TIMESTAMP:
使用
FROM_UNIXTIME()
函數(shù)將UNIX_TIMESTAMP
轉(zhuǎn)換為TIMESTAMP
。-- 將UNIX時間戳轉(zhuǎn)為時間戳 SELECT FROM_UNIXTIME(UNIX_TIMESTAMP()) AS unix_to_timestamp; -- UNIX時間戳轉(zhuǎn)時間戳 (如果是13位需要除1000) SELECT FROM_UNIXTIME(1692874200) AS unix_to_timestamp;
TIMESTAMP 轉(zhuǎn) UNIX_TIMESTAMP:
使用
UNIX_TIMESTAMP()
函數(shù)將TIMESTAMP
轉(zhuǎn)換為UNIX_TIMESTAMP
。-- 將時間戳轉(zhuǎn)換為UNIX時間戳 SELECT UNIX_TIMESTAMP(NOW()) AS timestamp_to_unix;
5. 直接通過類型轉(zhuǎn)換函數(shù)
CAST 和 CONVERT 函數(shù):
使用
CAST()
或CONVERT()
函數(shù)可以在DATE
、TIMESTAMP
和字符串之間進行轉(zhuǎn)換。SELECT CAST('2024-08-24 14:35:00' AS DATE) AS cast_to_date; SELECT CONVERT(NOW(), CHAR) AS convert_to_string;
6. 字符串到日期或時間戳,帶時區(qū)的轉(zhuǎn)換
CONVERT_TZ
: 將時間戳從一個時區(qū)轉(zhuǎn)換到另一個時區(qū)。
-- 將UTC時間戳轉(zhuǎn)換為東八區(qū)時間 SELECT CONVERT_TZ('2024-08-24 06:00:00', '+00:00', '+08:00');
7. 字符串直接轉(zhuǎn)換為時間戳
- 如果字符串格式與時間戳的默認格式一致,可以直接進行轉(zhuǎn)換,這會自動將字符串轉(zhuǎn)換為時間戳。注意這種方法僅適用于字符串格式精確匹配默認的
DATETIME
格式。
SELECT '2024-08-24 14:30:00' + 0 AS timestamp_value;
常用的格式化符號:
%Y
年(四位)%m
月(兩位)%d
日(兩位)%H
小時(24小時制)%i
分鐘%s
秒
總結(jié)
到此這篇關(guān)于MySQL中日期和時間戳轉(zhuǎn)換之字符到DATE和TIMESTAMP的相互轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)MySQL DATE和TIMESTAMP相互轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
簡單了解MYSQL數(shù)據(jù)庫優(yōu)化階段
這篇文章主要介紹了簡單了解MYSQL數(shù)據(jù)庫優(yōu)化階段,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04Starting MySQL.Manager of pid-file quit without updating fil
因為硬盤滿了,Starting MySQL.Manager of pid-file quit without updating file.[FAILED]2010-02-02MySQL order by與group by查詢優(yōu)化實現(xiàn)詳解
order by 子句盡量使用index方式排序(即using index),避免使用filesort方式排序(即using filesort)。Index方式效率高,它指MySQL掃描索引本身完成排序,filesort則效率低2022-11-11Mac操作系統(tǒng)下MySQL密碼忘記后重置密碼的方法
本文給大家介紹Mac下忘記MySQL密碼后重置密碼的方法,下面通過關(guān)閉mysql服務器,配置短命令相關(guān)操作,完成重置密碼功能,非常不錯,具有參考借鑒價值,感興趣的朋友可以參考下2016-06-06