📜  从日期查找年份的 SQL 查询

📅  最后修改于: 2021-09-10 01:47:40             🧑  作者: Mango

概述 :
借助示例,您将能够理解 SQL 中从日期查找年份的实现。在这里,我们将看到如何借助 SQL 查询从 MS SQL Server 数据库表中的给定日期中查找或提取年份。出于演示的目的,我们将在名为“ geeks ”的数据库中创建一个demo_orders表。

实施 SQL 查询以从日期查找年份的步骤:
在这里,我们将讨论实现 SQL 查询以从日期查找年份的步骤,如下所示。

步骤 1:创建数据库:
使用以下 SQL 语句创建名为 geeks 的数据库,如下所示。

CREATE DATABASE geeks;

步骤 2:使用数据库:
使用下面的 SQL 语句将数据库上下文切换到 geeks,如下所示。

USE geeks;

第 3 步:创建表:
我们的极客数据库中有以下演示表。

CREATE TABLE demo_orders(
 ORDER_ID INT IDENTITY(1,1) PRIMARY KEY, 
 --IDENTITY(1,1) is same as AUTO_INCREMENT in MySQL.
 --Starts from 1 and increases by 1 with each inserted row.
 ITEM_NAME VARCHAR(30) NOT NULL,
 ORDER_DATE DATE
);

步骤 4:验证表:
您可以使用下面的语句来查询创建的表的描述,如下所示。

EXEC SP_COLUMNS demo_orders;

输出 :

TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME PRECISION LENGTH REMARKS
demo_orders ORDER_ID 4 int identity 10 4 NULL
demo_orders ITEM_NAME 12 varchar 30 30 NULL
demo_orders ORDER_DATE -9 date 10 20 NULL

步骤 5:向表中添加数据:
使用以下语句将数据添加到 demo_orders 表中,如下所示。

INSERT INTO demo_orders 
--no need to mention columns explicitly as we are inserting into all columns and ID gets 
--automatically incremented.
VALUES
('Maserati', '2007-10-03'),
('BMW', '2010-07-23'),
('Mercedes Benz', '2012-11-12'),
('Ferrari', '2016-05-09'),
('Lamborghini', '2020-10-20');

步骤 6:验证插入的数据:
要验证表的内容,请使用以下语句。

SELECT * FROM demo_orders;

输出 :

ORDER_ID ITEM_NAME ORDER_DATE
1 Maserati 2007-10-03T00:00:00.000Z
2 BMW 2010-07-23T00:00:00.000Z
3 Mercedes Benz 2012-11-12T00:00:00.000Z
4 Ferrari 2016-05-09T00:00:00.000Z
5 Lamborghini 2020-10-20T00:00:00.000Z

第 7 步:实施查询以从日期查找年份:
现在让我们借助 YEAR()函数找到 ITEM_NAME 为“玛莎拉蒂”的订单年份。以下是从给定日期检索年份的语法。

句法 –

SELECT YEAR();
--or within a table--
SELECT YEAR() FROM ;

例子 –

SELECT YEAR(ORDER_DATE) AS YEAR_OF_ORDER
FROM demo_orders
WHERE ITEM_NAME='Maserati';

输出 :

YEAR_OF_ORDER
2007

第 8 步:执行查询以从 Date 查找日、月和年:
同样,我们可以使用 DAY() 和 MONTH() 函数找到给定日期的相应日期和月份。

例子 –

SELECT day(order_date)[day], --here [day] is the identifier name for the column in the output.
       month(order_date)[month], 
       year(order_date)[year]
FROM demo_orders 
WHERE ITEM_NAME='Lamborghini';

输出 :

day month year
20 10 2020