在 mysql 中从日期时间类型转换为仅日期-ag捕鱼王app官网

在 mysql 中从日期时间类型转换为仅日期

作者:迹忆客 最近更新:2023/05/06 浏览次数:

今天,我们将学习mysql中datetime类型转换为date类型的 date()、cast()、convert() 和 date_format() 方法。 上面提到的方法都可以在mysql 4.0及以上版本中使用。


在 mysql 中从 datetime 类型转换为 date 类型

为了通过代码示例来理解它,让我们创建一个订单表,其中包含 id、productname、ordernumber 和 orderdatetime 作为属性; 我们还将使用 id 字段创建一个主键。 请参阅以下查询。

示例代码:

create table orders(
    id int not null,
    productname varchar(50) not null,
    ordernumber int not null,
    orderdatetime datetime not null,
    primary key(id)
);
insert into orders (id, productname, ordernumber, orderdatetime)
values
(1, 'oppo f17', 3322, '2022-04-11 04:32:15'),
(2, 'dell laptop', 5433, '2022-05-12 12:23:09'),
(3, 'hp mouse', 3489, '2022-05-16 07:23:16');
select * from orders;

输出:

 ---- ------------- ------------- --------------------- 
| id | productname | ordernumber | orderdatetime       |
 ---- ------------- ------------- --------------------- 
|  1 | oppo f17    |        3322 | 2022-04-11 04:32:15 |
|  2 | dell laptop |        5433 | 2022-05-12 12:23:09 |
|  3 | hp mouse    |        3489 | 2022-05-16 07:23:16 |
 ---- ------------- ------------- --------------------- 
3 rows in set (0.00 sec)

一旦表格准备就绪,我们现在可以根据项目要求使用以下任何方法来满足目标。


在 mysql 中使用 date() 将 datetime 转换为 date

示例代码:

select id, productname, ordernumber, date(orderdatetime) from orders;

输出:

 ---- ------------- ------------- --------------------- 
| id | productname | ordernumber | date(orderdatetime) |
 ---- ------------- ------------- --------------------- 
|  1 | oppo f17    |        3322 | 2022-04-11          |
|  2 | dell laptop |        5433 | 2022-05-12          |
|  3 | hp mouse    |        3489 | 2022-05-16          |
 ---- ------------- ------------- --------------------- 
3 rows in set (0.00 sec)

date() 函数可以从有效的 date 或 datetime 类型字段中提取 date 部分。 如果传递了无效的表达式,它将返回 null。

如果我们还想仅根据 date 对数据进行分组,则可以使用这篇文章。


在 mysql 中使用 cast() 将 datetime 转换为 date

示例代码:

select id, productname, ordernumber, cast(orderdatetime as date) from orders;

输出:

 ---- ------------- ------------- ----------------------------- 
| id | productname | ordernumber | cast(orderdatetime as date) |
 ---- ------------- ------------- ----------------------------- 
|  1 | oppo f17    |        3322 | 2022-04-11                  |
|  2 | dell laptop |        5433 | 2022-05-12                  |
|  3 | hp mouse    |        3489 | 2022-05-16                  |
 ---- ------------- ------------- ----------------------------- 
3 rows in set (0.00 sec)

cast() 方法用于将一种数据类型的值转换(转换)为另一种给定数据类型。


在 mysql 中使用 convert() 将 datetime 转换为 date

示例代码:

select id, productname, ordernumber, convert(orderdatetime, date) from orders;

输出:

 ---- ------------- ------------- ------------------------------ 
| id | productname | ordernumber | convert(orderdatetime, date) |
 ---- ------------- ------------- ------------------------------ 
|  1 | oppo f17    |        3322 | 2022-04-11                   |
|  2 | dell laptop |        5433 | 2022-05-12                   |
|  3 | hp mouse    |        3489 | 2022-05-16                   |
 ---- ------------- ------------- ------------------------------ 
3 rows in set (0.00 sec)

我们还可以使用 convert() 方法将 datetime 类型字段转换为仅 date。 它接受两个参数——第一个是需要转换的值,第二个是给定值将转换成的数据类型。


在 mysql 中使用 date_format() 将 datetime 转换为 date

示例代码:

select id, productname, ordernumber,
date_format(orderdatetime, '%y-%m-%d') from orders;

输出:

 ---- ------------- ------------- ---------------------------------------- 
| id | productname | ordernumber | date_format(orderdatetime, '%y-%m-%d') |
 ---- ------------- ------------- ---------------------------------------- 
|  1 | oppo f17    |        3322 | 2022-04-11                             |
|  2 | dell laptop |        5433 | 2022-05-12                             |
|  3 | hp mouse    |        3489 | 2022-05-16                             |
 ---- ------------- ------------- ---------------------------------------- 
3 rows in set (0.00 sec)

date_format() 函数将 datetime 转换为 date 类型,对于更改当前日期格式很有用。 例如,如果我们想以 d/m/y 格式显示 date,我们可以按如下方式进行。

示例代码:

select id, productname, ordernumber,
date_format(orderdatetime, '%d/%m/%y') from orders;

输出:

 ---- ------------- ------------- ---------------------------------------- 
| id | productname | ordernumber | date_format(orderdatetime, '%d/%m/%y') |
 ---- ------------- ------------- ---------------------------------------- 
|  1 | oppo f17    |        3322 | 11/04/2022                             |
|  2 | dell laptop |        5433 | 12/05/2022                             |
|  3 | hp mouse    |        3489 | 16/05/2022                             |
 ---- ------------- ------------- ---------------------------------------- 
3 rows in set (0.00 sec)

如果我们想看到月份的名称而不是月份的数字,我们也可以使用 date_format() 函数将其转换为以下格式。

示例代码:

select id, productname, ordernumber,
date_format(orderdatetime, '%d %m %y') from orders;

输出:

 ---- ------------- ------------- ---------------------------------------- 
| id | productname | ordernumber | date_format(orderdatetime, '%d %m %y') |
 ---- ------------- ------------- ---------------------------------------- 
|  1 | oppo f17    |        3322 | 11th april 2022                        |
|  2 | dell laptop |        5433 | 12th may 2022                          |
|  3 | hp mouse    |        3489 | 16th may 2022                          |
 ---- ------------- ------------- ---------------------------------------- 
3 rows in set (0.00 sec)

上一篇:mysql 获取最近 30 天的数据

下一篇:

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 mysql 中声明和使用变量

发布时间:2024/03/26 浏览次数:115 分类:mysql

当你需要在 mysql 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。

发布时间:2024/03/26 浏览次数:176 分类:mysql

本教程演示了如何在 mysql 中重置自动增量。

在 mysql 中实现刷新权限

发布时间:2024/03/26 浏览次数:211 分类:mysql

本教程介绍了 mysql 中的刷新权限命令,用于刷新授权表并影响允许的更改。

在 mysql 中设置时区

发布时间:2024/03/26 浏览次数:93 分类:mysql

在本教程中,我们将学习如何在 mysql 服务器中更改时区。

发布时间:2024/03/26 浏览次数:199 分类:mysql

本教程演示如何在 mysql 中转换为整数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图