MySQL - CURDATE() 函数



MySQL 中的 DATE、DATETIME 和 TIMESTAMP 数据类型分别用于存储日期、日期和时间、时间戳值;其中时间戳是一个数值,表示从“1970-01-01 00:00:01” UTC(纪元)到指定时间的毫秒数。MySQL 提供了一套函数来操作这些值。

MySQL CURDATE() 函数

MySQL 的 CURDATE() 函数用于获取当前日期。结果值根据上下文是字符串还是数值,返回的日期将为“YYYY-MM-DD”或 YYYYMMDD 格式。

语法

以下是 MySQL CURDATE() 函数的语法:

CURDATE();

参数

此方法不接受任何参数。

返回值

此函数以“YYYY-MM-DD”格式返回当前日期。

示例

以下示例演示了 CURDATE() 函数的使用:

SELECT CURDATE();

输出

获得以下输出:

CURDATE()
2021-07-11

示例

以下是在数值上下文中使用此函数的示例:

SELECT CURDATE() +0;

输出

获得以下输出:

CURDATE() +0
20210711

示例

您可以像下面这样将天数添加到当前日期:

SELECT CURDATE()+12;

输出

获得以下输出:

CURDATE()+12
20210723

示例

我们还可以使用此函数从当前日期减去所需的天数:

SELECT CURDATE()-22213;

输出

获得以下输出:

CURDATE()-22213
20188498

示例

让我们使用 CREATE TABLE 语句在 MySQL 数据库中创建一个名为 ORDERS 的表,如下所示:

CREATE TABLE ORDERS (
   OID INT NOT NULL,
   DATE VARCHAR (20) NOT NULL,
   CUSTOMER_ID INT NOT NULL,
   AMOUNT DECIMAL (18, 2)
);

现在,我们将使用以下 INSERT 语句在 ORDERS 表中插入记录:

INSERT INTO ORDERS VALUES 
(102, '2009-10-08 00:00:00', 3, 3000.00),
(100, '2009-10-08 00:00:00', 3, 1500.00),
(101, '2009-11-20 00:00:00', 2, 1560.00),
(103, '2008-05-20 00:00:00', 4, 2060.00);

以下查询计算当前日期与订购日期(以天为单位)之间的差值:

SELECT OID, DATE, DATEDIFF(CURDATE(), DATE), AMOUNT FROM ORDERS;

输出

输出显示如下:

OID DATE DATEDIFF(CURDATE(), DATE) AMOUNT
102 2009-10-08 00:00:00 5131 3000.00
100 2009-10-08 00:00:00 5131 1500.00
101 2009-11-20 00:00:00 5088 1560.00
103 2008-05-20 00:00:00 5637 2060.00
广告

© . All rights reserved.