在参加的一个面试时被问到一个问题:如何利用SQL语句计算2036年的2月份有多少天?
首先想到的思路就是判断2036是闰年还是平年,然后可以判断2月份有多少天,利用下面方法判断平年还是闰年:
(1)年份能被4整除;
(2)年份若是100的整数倍的话,需被400整除,否则是平年。
既然被问到要用sql计算,现在的方法是没有用到任何sql,于是学习了下sql的方法:
第一种可以利用sql的“datediff”来计算:
SELECT DATEDIFF(day,'2036-2-1','2036-3-1') AS DiffDate
,计算结果是29
第二种利用异常来判断:
执行
SELECT * FROM Orders WHERE OrderDate='2035-2-29'
编译器会报错,如下:“服务器: 消息 242,级别 16,状态 3,行 1从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。”因此不是2035-2-29是不合法的,那么再试一下2036-2-29:没有报异常,说明是合法的,那么就是29天了。
第三种利用dateadd来计算:
declare @temp datetime
set @temp = '2036-3-1'
select @temp
select dateadd(d,-1, @temp)
查询的结果是:
2036-02-29 00:00:00.000
以上是三种计算的方法,对于这个问题最重要的是要结合sql语言来计算,在sql中提供了多种计算时间的函数,包括datediff、dateadd等函数。
分享到:
相关推荐
本文档将详细介绍如何使用SQL语句来查询特定日期的数据,特别是使用`DATEDIFF`函数来精确地查询一天内或者一周内的数据。 #### 二、`DATEDIFF`函数详解 `DATEDIFF`函数是SQL中一个非常实用的功能,用于计算两个...
通过以下SQL语句可以实现这一目的: ```sql SELECT DRAW_CODE, ISOMETRIC, COUNT(1) FROM em.pre_iso_t_ass GROUP BY DRAW_CODE, ISOMETRIC HAVING COUNT(1) > 1; ``` 此查询将返回`DRAW_CODE`和`ISOMETRIC`字段中...
### SQL语句经典教程——SQL语言精华概览 SQL(Structured Query Language)作为数据库查询和管理的标准语言,其重要性和实用性不言而喻。本文旨在深入解析“SQL语句经典教程,sql语言精华”中提及的关键知识点,...
使用T-SQL语句实现简单查询 在本节中,我们将学习使用T-SQL语句实现简单查询。T-SQL语句是一种关系数据库管理系统的查询语言,广泛应用于数据库管理和数据分析领域。 一、T-SQL语句的基本结构 T-SQL语句的基本...
【Sql语句汇集】 Sql是Structured Query Language的缩写,是用于管理关系数据库系统的标准语言。以下是一些经典的Sql语句及其应用场景。 1. **Identity(Int)的应用** 在Sql中,`Identity`是一个自动递增的字段...
### 经典SQL语句大全知识点详解 #### SQL Server 基本函数 1. **DataLength**: 这个函数用于返回一个字符串的实际字符数量,但是它会忽略字符串末尾的空格。例如: ```sql SELECT datalength('Hello World '); ...
利用Excel SQL语句则可以优化这一过程,通过编写SQL语句快速从不同工作簿中提取并汇总数据,无需重复多次复制粘贴和筛选操作,从而大幅减轻了工作量。 例如,在Excel中创建一个SQL查询以合并多个Excel文件中的销售...
### SQL语句教程大全 #### 一、SQL指令概述 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。本教程将详细介绍一系列常见的SQL语句及其应用方式,旨在帮助初学者快速掌握SQL的基本操作,...
### SQL语句教程知识点概述 #### 一、SELECT语句 - **定义与用途**: - `SELECT`语句是SQL中最基本也是最常用的语句之一,主要用于从数据库的表中选择数据。 - 基本语法:`SELECT column_name(s) FROM table_name...
在SQL中,判断某一年份是否为闰年的逻辑主要基于两个基本规则:首先,能被4整除的年份可能是闰年;其次,如果该年份同时也能被100整除,则它不是闰年,除非它同时还能被400整除。这一规则确保了世纪年(即以00结尾的...
这篇简短的文章总结了几个对数据库初学者非常基础且实用的SQL语句,它们可以帮助你快速入门数据库查询。 首先,我们来看如何在查询结果中显示列名。在SQL中,可以使用`AS`关键字重命名列的显示名称,例如`SELECT ...
- SQL Server Management Studio (SSMS) 包含一个查询分析器,允许用户编写和执行SQL语句。例1-1中描述了如何打开查询分析器并运行查询。 3. **变量的声明和使用**: - `DECLARE`语句用于定义变量,例2-1和2-2...
### SQL语句教程知识点解析 #### 一、SQL指令概览 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。本教程旨在为初学者和有一定基础的用户提供全面的SQL指令指南。 ##### 1. SELECT - **...
2. **日期/时间函数**:如ADD_MONTHS(添加月份)、LAST_DAY(获取某月最后一天)、MONTHS_BETWEEN(计算两个日期间相差的月份数)、NEW_TIME(更改时间区)、NEXT_DAY(下一个工作日)、SYSDATE(系统当前日期和...
根据给定文件的信息,我们可以总结出一系列与Oracle SQL语句相关的知识点。这些知识点涉及了基本的数据操作、查询优化以及复杂的连接查询等。 ### 一、基础数据操作 #### 1. 复制表结构(不含数据) - **SQL语句**...
说,我们可能只想看在特定日期之后的销售记录,或者只对...以上就是关于SQL语句的一些基本知识点,涵盖了从数据检索、数据操纵到表结构管理的各个方面。熟练掌握这些语句对于有效地管理和分析数据库中的数据至关重要。
- 如果2月份有29天,则该年为闰年(`@Bit`设为1);否则不是闰年(`@Bit`设为0)。 #### 四、使用示例 为了测试这个函数,可以在查询窗口中执行如下语句: ```sql SELECT dbo.fn_IsLeapYear(2001) -- 返回0,表示...