在 MySQL 中将字符串转换为日期格式

Mehvish Ashiq 2023年1月30日 2022年5月13日
  1. 在 MySQL 中将字符串转换为日期格式
  2. 结论
在 MySQL 中将字符串转换为日期格式

本文将指导你并通过不同的函数将充当 DATE 的字符串类型值转换为 DATE 类型值。我们还将练习使用 MySQL 中的 STR_TO_DATE()CONVERT()CAST() 函数的一些示例代码。

注意
我们使用的是 MySQL V8.0.27。你可以从这里获得较新的(如果有的话)

在 MySQL 中将字符串转换为日期格式

我们将学习以下在 MySQL 中将字符串转换为 DATE 格式的方法。

MySQL STR_TO_DATE() 函数

此函数将 str(字符串)转换为 DATE 值。DATE 的格式将根据你的字符串格式。例如,你想将 MM/DD/YYYY 从字符串类型转换为 DATE 类型,那么 DATE 也将是 MM/DD/YYYY 格式。

STR_TO_DATE() 函数可以根据输入以及字符串格式返回 DATEDATETIMETIME 值。请参阅下面给出的示例并将它们与输出进行比较。

SELECT STR_TO_DATE('2021-08-23', '%Y-%m-%d');

输出:

在 mysql 中将字符串转换为日期格式 - str 到日期输出一

如果我们改变格式怎么办?让我们用逗号替换破折号。

SELECT STR_TO_DATE('2021-08-23', '%Y,%m,%d');

输出:

在 mysql 中将字符串转换为日期格式 - str to date 错误一

参见上面给出的输出,它返回 NULL。让我们仅将格式从 YYYY-MM-DD 更改为 DD-MM-YYYY

SELECT STR_TO_DATE('2021-08-23', '%d-%m-%Y');

输出:

mysql 中字符串转日期格式-str 转日期错误二

看,它又返回了 NULL。这意味着你必须具有与输入字符串中相同的 DATE 格式。如果我们也有 TIME 怎么办?让我们运行以下命令。

SELECT STR_TO_DATE('2021-08-23 10:12:23', '%Y-%m-%d %T');

输出:

mysql 中字符串转日期格式-str 转日期输出二

STR_TO_DATE() 函数将忽略文本并仅输出 DATE。请参阅以下示例。

SELECT STR_TO_DATE('2021-08-23 some other string', '%Y-%m-%d') as Date;

输出:

mysql 中字符串转日期格式-str 转日期输出四

我们也可以提取年份。如果你提取年份,它会将日期和月份设置为零。请参阅以下代码和输出。

SELECT STR_TO_DATE('2021-08-23', '%Y') as Year; #get year

输出:

mysql 中字符串转日期格式-str 转日期输出五

MySQL CONVERT() 函数

Convert 函数可以将给定的值转换为指定的字符集或数据类型。你可以在此处查看有关数据类型的详细信息。

SELECT CONVERT("2021-08-19", DATE); #convert to DATE
SELECT CONVERT("2021-08-19", DATETIME); #convert to DATETIME
SELECT CONVERT("2021-08-19", TIME); #convert to TIME

输出:

在 mysql 中将字符串转换为日期格式 - 转换输出

MySQL CAST() 函数

此函数将任何类型的输入(可以是字符串、整数或其他)转换为任何指定的数据类型。你可以在此处详细查看参数值。

SELECT CAST("2021-08-29" AS DATE) as date; #convert to date type
SELECT CAST("2021-08-29 11:12:45" AS DATETIME) as datetime; #convert to datetime type
SELECT CAST("11:12:45" AS TIME) as time; #convert to time type

输出:

在 mysql 中将字符串转换为日期格式 - 转换输出

结论

我们得出的结论是,根据项目要求,可以有多种方法将字符串值转换为 DATETIMEDATETIME。我们了解了用于转换目的的 STR_TO_DATECONVERTCAST 函数。

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

相关文章 - MySQL Date