SQL DAY()函数

SQL DAY()函数

SQL的 DAY() 函数返回指定日期的一个整数值,表示该日期的月份中的天数(从1到31)。参数必须是返回内置数据类型之一(日期、时间戳、字符字符串或图形字符串)的表达式。

如果参数是字符字符串或图形字符串,则表达式必须是有效的日期或时间戳的字符串表示形式,实际长度不超过255个字节,并且不能是CLOB或DB2中的DBCLOB(双字节字符的大型对象)。

语法

以下是SQL DAY()函数的语法:

DAY(date)

参数

此函数接受一个参数,如下所述 –

  • date - 用于返回日期中的天数。

示例

在下面的示例中,我们将提及无效的字符串并检索日期 –

SELECT DAY(2022-11-11);

输出

当我们执行以上查询时,输出结果如下所示:

+-----------------+
| DAY(2022-11-11) |
+-----------------+
| 24              |
+-----------------+

示例

让我们看一个示例,我们将使用以下查询来获取日期

SELECT DAY('');

输出

当我们执行上述查询时,输出如下所示−

+---------+
| DAY('') |
+---------+
| NULL    |
+---------+

示例

这里,我们尝试使用以下查询来检索日期的月份日期 –

SELECT DAY('2023/02/16') AS DayOfMonth;

输出

当我们执行上述查询时,输出结果如下:

+------------+
| DayOfMonth |
+------------+
| 16         |
+------------+

示例

在这里,我们尝试使用以下查询找到仅提到时间部分的日期 –

SELECT DAY('12:28:06') AS DAY;

输出

在执行上述查询时,输出显示如下:

+-----+
| DAY |
+-----+
| 1   |
+-----+

示例

在下面的示例中,我们将使用 CURRENT_TIMESTAMP 来检索日期,执行以下查询来完成。

SELECT DAY(CURRENT_TIMESTAMP);

输出

上述查询的输出如下所示 –

+------------------------+
| DAY(CURRENT_TIMESTAMP) |
+------------------------+
| 16                     |
+------------------------+

示例

看下面的示例,我们在使用以下查询时使用了替代函数 FORMAT() 来检索日期-

SELECT FORMAT(CAST('2023-02-16' AS DATE), 'dddd');

输出

如果我们执行上述查询,将产生如下结果−

+----------+
| DAY      |
+----------+
| Thursday |
+----------+

示例

考虑下面的示例,我们在这里使用day()函数和一个变量,通过以下查询从指定日期中检索到月份的天数 –

DECLARE @DATE VARCHAR(25);
SET @DATE = '2023/02/16';
SELECT DAY(@DATE) AS DAY ;

输出

执行上述查询后,会生成如下所示的输出结果:

+------+
| DAY  |
+------+
| 16   |
+------+

示例

我们还可以将列名作为DAY()函数的参数。让我们使用下面的CREATE语句在SQL数据库中创建一个名为IPLPlayers的表,如下所示的查询。

CREATE TABLE IPLPlayers(
   ID INT,
   Name VARCHAR(255),
   Date_Of_Birth date,
   Country VARCHAR(255),
   PRIMARY KEY (ID)
);

现在,让我们使用下面查询中的INSERT语句往IPLPlayers表中插入一些记录:

INSERT INTO IPLPlayers VALUES (1, 'Shikhar','1999-11-10','India');
INSERT INTO IPLPlayers VALUES (2, 'Dhoni','1992-12-11','Jharkhand');
INSERT INTO IPLPlayers VALUES (3, 'Gayle','1993-10-12','Westindies');
INSERT INTO IPLPlayers VALUES (4, 'Williamson','1992-09-23','NewZealand');

我们可以使用以下查询来验证表IPLPlayers是否已创建 −

SELECT * FROM IPLPlayers;

表IPLPlayers已成功创建在SQL数据库中−

+----+------------+---------------+------------+
| ID | Name       | Date_Of_Birth | Country    |
+----+------------+---------------+------------+
|  1 | Shikhar    | 1999-11-10    | India      |
|  2 | Dhoni      | 1992-12-11    | Jharkhand  |
|  3 | Gayle      | 1993-10-12    | Westindies |
|  4 | Williamson | 1992-09-23    | NewZealand |
+----+------------+---------------+------------+

现在我们将通过运行以下查询来从表格的Date_Of_Birth列中检索出日期 –

SELECT Name,Date_Of_Birth, Country,
DAY(Date_Of_Birth) FROM IPLPlayers;

输出

执行以上查询时,输出结果如下:

+------------+---------------+------------+--------------------+
| Name       | Date_Of_Birth | Country    | DAY(Date_Of_Birth) |
+------------+---------------+------------+--------------------+
| Shikhar    | 1999-11-10    | India      |                 10 |
| Dhoni      | 1992-12-11    | Jharkhand  |                 11 |
| Gayle      | 1993-10-12    | Westindies |                 12 |
| Williamson | 1992-09-23    | NewZealand |                 23 |
+------------+---------------+------------+--------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程