📜  SQL查询以查找从日期开始的年份

📅  最后修改于: 2021-08-24 04:59:48             🧑  作者: Mango

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

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

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

CREATE DATABASE geeks;

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

USE geeks;

步骤3:建立表格:
我们的geeks数据库中有以下演示表。

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为’Maserati’的订单年份。以下是从给定日期检索年份的语法。

句法 –

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:实施查询以从日期查找日期,月份和年份:
同样,我们可以使用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