首页 > 数据库 >SQL SERVER不使用EOMONTH,获取月份的最后一天- SQL server 2008

SQL SERVER不使用EOMONTH,获取月份的最后一天- SQL server 2008

时间:2023-03-27 12:11:06浏览次数:31  
标签:EOMONTH SERVER DATEADD SQL DATE dt LastDayOfCurrentMonth SELECT

1) To find the last date of the current month using EOMONTH

DECLARE @current_date DATE = GETDATE()
SELECT EOMONTH (@current_date, 0) AS LastDayOfCurrentMonth
NEXT MONTH:
DECLARE @current_date DATE = GETDATE()
SELECT EOMONTH (@current_date, 1 ) AS LastDayOfNextMonth

2)
SQL server 2005, SQL server 2008 (SQL SERVER不使用EOMONTH,获取月份的最后一天)
-- OLD Version
DECLARE @dt DATE
SET @dt = GETDATE()
SELECT CAST(DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@dt)+1,0)) AS DATE)as LastDayOfCurrentMonth
-- OLD Version( SQL server 2005, SQL server 2008)
DECLARE @dt DATE
SET @dt = GETDATE() --假设为2023年3月27日
SELECT CAST(DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@dt)+1,0)) AS DATE)as LastDayOfCurrentMonth
SELECT DATEADD( dd,-1,DATEADD(mm, DATEDIFF(m,0,@dt)+1,0)  ) as LastDayOfCurrentMonth_MinusDay_GetEndOfPreviousMonth
SELECT DATEADD(mm, DATEDIFF(m,0,@dt)+1,0)   as LastDayOfCurrentMonth_Dateaddmm_ChangedToDateFormat
SELECT DATEDIFF(m,0,@dt)+1  as LastDayOfCurrentMonth_DateDiff_GetNextMonth
SELECT DATEDIFF(m,0,@dt)  as LastDayOfCurrentMonth_DateDiff
SELECT @dt as LastDayOfCurrentMonth_GETDATE--1900年~2023年的3月份序号为1478
SELECT CAST(1479.00/12 AS decimal(18,2))  --123.25个年

分步骤解析:

 

标签:EOMONTH,SERVER,DATEADD,SQL,DATE,dt,LastDayOfCurrentMonth,SELECT
From: https://www.cnblogs.com/watermarks/p/17261117.html

相关文章

  • Mysql 修改表编码
    Mysql修改表编码,字段编码还是以前的Mysql修改表编码,字段编码未变ALTERTABLE`table6`CONVERTTOCHARACTERSETutf8mb4COLLATEutf8mb4_bin;--ALTERTABLE`rent......
  • 监控事件系列——SQL Trace(默认跟踪与自定义跟踪)
    目录【1】服务器端跟踪(ServerSideTrace)【1.1】概念与使用【1.2】跟踪的基本操作【1.3】七大事件监控【2】默认跟踪的应用 【2.1】常用事件跟踪(删除、审核登......
  • MYSQL执行顺序
    MYSQL的执行顺序如下所示:fromonjoinwheregroupbyhavingselectdistinctunionorderby可以看到,select是在where后执行的,也就是说,select下的窗口函数也是在where之后执行的......
  • 自动生成sql 这是MySQL例子
    @TestpublicvoidtestGeneSql(){try{Stringss=getFileContentTwo("D:\test\13json.txt");JSONObjectjo=JSONObject.parseObject(ss);JSONAr......
  • MS SQL Server 删除重复行数据
    您可以使用以下SQL语句删除MSSQLServer表中重复的行:WITHCTEAS(SELECTROW_NUMBER()OVER(PARTITIONBYcolumn1,column2,...columnNORDERBY(SELECT0))......
  • SQL Server 索引类型及意义
    一、什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQLServer中的数据记录也是按页存放的,每页容量一般为4K。为了加快查找的速度,汉语字(词)典......
  • MySQL联合索引创建规则
    1、索引应该按照最常用于查询的列的顺序创建。这样可以最大程度地提高查询性能。2、如果查询中包含的列与索引中的列顺序不一致,则无法使用索引。因此,如果您有多个查询,每个......
  • SqlServer(七)数据库优化
    1、对查询进行优化,尽量避免全表扫描(select*fromTable),首先考虑在where及OrderBy使用的列加索引。2、尽量避免在where语句中对字段进行null值条件搜索,否则将导致......
  • SqlServer日期格式转换
    常用:SELECTCONVERT(VARCHAR(100),GETDATE(),24)--:10:57:47SELECTCONVERT(VARCHAR(100),GETDATE(),108)--:10:57:49SELECTCONVERT(VARCHAR(100),GETDATE(),......
  • Centos7 安装 mysql 8
    安装1.配置yum仓库#更新密钥rpm-importhttps:/repo.mysql.com/RPM-GPG-KEYmysql-202#安装Mysql8.x版本yum库rpm-Uvhhttps:/dev.mysql.com/get/mysql80-commu......