`

SQL Server中获取第一天、最后一天

阅读更多
项目中用到的,获取已知年份的第一天和最后一天,觉得网来的不错,留下做个念想,下次再用。
1.一个月第一天的
Java代码
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 

SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2.本周的星期一
Java代码
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
3.一年的第一天
Java代码
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
4.季度的第一天
Java代码
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0) 

SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
5.当天的半夜
Java代码
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0) 

SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
6.上个月的最后一天
Java代码
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)) 

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
7.去年的最后一天
Java代码
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)) 

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
8.本月的最后一天
Java代码
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) 

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
9.本年的最后一天
Java代码
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0)) 

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

10.本月的第一个星期一
Java代码
select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)  

select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
分享到:
评论

相关推荐

    SQL SERVER 获取年、季、月、周、日开始时间和结束时间

    time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...

    SQL获取当前月的第一天和最后一天和当前月一共几天

    在SQL中,获取当前月的第一天、最后一天以及计算当前月的总天数是常见的日期操作,这在处理与时间相关的数据时非常有用。以下是如何使用T-SQL(SQL Server的编程语言)来实现这些功能的详细解释: 1. 获取当前月的...

    sql语句查询周月年季的最后或第一天

    以下是对“SQL语句查询周月年季的最后或第一天”这一主题的深入解析,包括理解日期函数、如何构建SQL语句以及一些实用的示例。 ### 一、SQL日期函数基础 SQL提供了丰富的日期函数来处理日期和时间,如`GETDATE()`...

    sqlserver 计算当月所有自然周的区间。

    - 使用`DATEADD()`函数获取指定月份的下个月第一天,然后减去当前月份最后一天的日期得到当前月份的结束日期。 - 开始日期设置为当前月份的第一天。 - **计算周的数量**:根据月份的开始日期和结束日期计算出包含...

    sqlserver5天培训课程资料

    第一天: 初识SQL-SERVER2000;SQL-SERVER的概念;SQL-SERVER的安装;工具的使用;与WINNT的关系。 第二天: SQLSERVER的管理与安全、Transact-SQL基础 第三天: SQLSERVER的备份、SQLSERVER的视图、高级-SQL介绍。 ...

    SQLServer时间处理

    - 季度第一天:获取某个日期所在季度的第一天,可以利用日期函数如`DATEADD`和`DATEPART`。例如,`DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)`会得到当前日期所在的季度首日。 - 月份第一天:类似地,`DATEADD...

    SQL Server时间算法

    为了获取当前月份的第一天,即月初,可以使用`DATEADD`结合`DATEDIFF`函数。具体实现方法如下: ```sql DECLARE @Date DATETIME; SET @Date = GETDATE(); -- 当前月份的第一天 SELECT DATEADD(MONTH, DATEDIFF...

    计算本月和上个月的第一天和最后一天(SQL Server)

    在这段代码中,`GETDATE()`函数获取当前系统日期,然后`DATEFROMPARTS`用于构建月份的第一天,`EOMONTH`用于获取同一月份的最后一天。 接着,我们计算上个月的第一天和最后一天: ```sql DECLARE @lastMonth DATE =...

    SQL Server各种日期计算

    文章中提到了一个非常实用的技术点:系统中星期的第一天(DATEFIRST)的设置可能影响到日期计算的结果。默认情况下,周一被视为一周的第一天,但用户可以通过修改DATEFIRST设置来改变这一默认行为,将任何一天设定为...

    sqlserver-oracle 数据类型对照

    - `LAST_DAY`在Oracle中获取月份的最后一天,SQL Server无直接对应。 - `NEW_TIME`和`AT TIME ZONE`在Oracle和SQL Server中用于时区转换。 - `NEXT_DAY`在Oracle中找到日期后的一个特定星期几,SQL Server无直接...

    sqlserver日期相关知识.doc

    在 SQL Server 中,可以使用 DATEADD 函数来获取一周、一个月、季度、某年的第一天。例如: ```sql -- 获取一周的第一天 SELECT DATEADD(week, DATEDIFF(week, 0, GETDATE()), 0); -- 获取一个月的第一天 SELECT ...

    SQL Server 查询两个日期之间的所有月份

    `+ '01'`是为了确保日期始终是每月的第一天,以便按月份正确地进行比较。 接下来,通过`WHERE`子句过滤出在这个范围内的月份,并使用`AS [Date]`重命名列名为`Date`,这样结果集中就包含了起始日期和结束日期之间...

    SqlServer日期处理函数

    1. **获取一个月的第一天** - 函数:`DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)` - 描述:此函数返回当前日期所在月份的第一天。 - 示例:如果当前日期是2023年10月15日,则返回2023年10月1日。 2. **获取...

    sqlserver自定义函数

    这个函数使用内置的DATEADD和DATEDIFF函数,通过计算下个月的第一天再减去3分钟,然后获取日期的天数,得到本月的总天数。 3. 获取输入日期的星期一日期(MondayInDate): 此函数通过DATEADD和DATEDIFF函数,找到...

    SQL Server 中的时间算法总结

    - 计算给定日期所在月份的第一天,通常通过找到距“1900-01-01”这个特殊日期的月数差,然后将这个差值加到“1900-01-01”上。例如,`DATEADD(MONTH, DATEDIFF(MONTH, '1900-01-01', @Date), '1900-01-01')`。 - ...

    21天学通SQL Server中部分习题答案

    第一章主要介绍了数据库的基本概念,包括关系型数据库、常见的数据库管理系统(如SQL Server、Oracle、MySQL)以及操作系统(如WINDOWS)。习题涉及到的选择题,例如询问了数据库系统和操作系统的选择,这是对基础...

    SQL Server 数据库实现定时自动备份

    在IT行业中,数据库管理是至关重要的任务之一,而SQL Server作为广泛应用的关系型数据库管理系统,其数据的安全性和稳定性是每个管理员必须关注的重点。本篇将详细探讨如何在SQL Server中实现定时自动备份,确保数据...

    21天学通SQL Server 第二版,有需要可以看看

    数据库设计是SQL Server应用中的关键环节,包括ER模型(实体-关系模型)、范式理论(第一范式到第三范式),以及数据库表的规范化设计。合理的设计能减少数据冗余,提高数据一致性,防止异常。 SQL Server的事务...

Global site tag (gtag.js) - Google Analytics