概述 :
借助示例,您将能够理解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 |