MySQL - CURRENT_DATE() 函数



MySQL CURRENT_DATE() 函数

MySQL 的 CURRENT_DATE() 函数是 CURDATE() 的同义词。它也用于检索当天的日期。结果值根据上下文是字符串或数值,返回的日期格式为 'YYYY-MM-DD' 或 YYYYMMDD。

您也可以使用 CURRENT_DATE 代替 CURRENT_DATE() 来检索当天的日期(当前日期)。这些是同义函数。

语法

以下是上述函数的语法:

CURRENT_DATE();

参数

此方法不接受任何参数。

返回值

此函数返回 'YYYY-MM-DD' 格式的当前日期。

示例

以下示例演示了 CURRENT_DATE() 函数的用法:

SELECT CURRENT_DATE();

输出

获得以下输出:

CURRENT_DATE()
2021-01-10

示例

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

SELECT CURRENT_DATE() +0;

输出

获得以下输出:

CURRENT_DATE() + 0
20210110

示例

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

SELECT CURRENT_DATE()+12;

输出

获得以下输出:

CURRENT_DATE() + 12
20210122

示例

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

SELECT CURRENT_DATE()-22213;

输出

获得以下输出:

CURRENT_DATE() - 22213
20,187,897

示例

您可以使用 CURRENT_DATE 代替 CURRENT_DATE() 来检索当前日期。

SELECT CURRENT_DATE;

输出

获得以下输出:

CURRENT_DATE
2021-01-10

在数值上下文中

SELECT CURRENT_DATE+0;

输出

获得以下输出:

CURRENT_DATE + 0
20210110

示例

让我们使用 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);

CURRENT_DATE()

以下查询计算玩家的年龄(以天为单位):

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

CURRENT_DATE

我们也可以使用 CURRENT_DATE 来检索当前日期,如下面的查询所示:

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

输出

输出显示如下:

OID DATE DATEDIFF(CURRENT_DATE, 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
广告