MS SQL Server查询 本日、本周、本月、本季度、本年起始时间

参数声明

declare @beginTime datetime,          --查询开始时间
      @endTime datetime,             --查询结束时间
      @queryTimeType tinyint;        --查询时间类型,1=日,2=周;3=月;4=季;5=年

1、查询本日开始、结束时间

--查询当天起始时间
set @beginTime = CONVERT(DATETIME,CONVERT(CHAR(10), GETDATE(),120)  + ‘ 00:00:00‘,120);    --@beginTime:2019-06-25 00:00:00.000
set @endTime = CONVERT(DATETIME,CONVERT(CHAR(10), GETDATE(),120)    + ‘ 23:59:59‘,120);    --@endTime:2019-06-25 23:59:59.000

2、查询本周开始、结束时间

--查询本周起始时间
set @beginTime = CONVERT(DATETIME, DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd, -1, getdate()) ), 0) + ‘ 00:00:00‘,120);    --@beginTime:2019-06-24 00:00:00.000
set @endTime = CONVERT(DATETIME, DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd, -1, getdate()) ), 6)+ ‘ 23:59:59‘,120);       --@endTime:2019-06-30 23:59:59.000

3、查询本月开始时间、结束时间

--查询本月起始时间
set @beginTime =CONVERT(datetime, CONVERT(nvarchar(10),dateadd(dd,-day(getdate())+1,getdate()),121)+ ‘ 00:00:00‘,120);             --@beginTime:2019-06-01 00:00:00.000
set @endTime = CONVERT(datetime, CONVERT(nvarchar(10),dateadd(dd,-day(getdate()),dateadd(m,1,getdate())),121)+‘ 23:59:59‘,120);    --@endTime:2019-06-30 23:59:59.000

4、查询本季度开始、结束时间

--查询本季度起始时间
set @beginTime = CONVERT(datetime,CONVERT(varchar(20),CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,GETDATE())*3-Month(GETDATE())-2,GETDATE()),121)+‘1‘)+‘ 00:00:00‘,120);     --@beginTime:2019-04-01 00:00:00.000
set @endTime = CONVERT(datetime, DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,GETDATE())*3-Month(GETDATE()),GETDATE()),121)+‘1‘)+‘ 23:59:59‘,120);           --@endTime:2019-06-30 23:59:59.000

5、查询本年度开始时间、结束时间

--查询本年开始结束时间
set @beginTime = CONVERT(datetime,CONVERT(char(5),getdate(),120)+‘01-01 00:00:00‘,120);         --@beginTime:2019-01-01 00:00:00.000
set @endTime = CONVERT(datetime,CONVERT(char(5),GETDATE(),120)+‘12-31 23:59:59‘,120);           --@endTime:2019-12-31 23:59:59.000

原文地址:https://www.cnblogs.com/openWorld/p/11083565.html

时间: 2024-10-06 09:13:23

MS SQL Server查询 本日、本周、本月、本季度、本年起始时间的相关文章

MS SQL Server 查询元数据

use test -- 查询数据库中所有的表和架构名称select SCHEMA_NAME(schema_id) as table_schema_name, name as table_name from sys.tables; select table_schema,table_name from INFORMATION_SCHEMA.TABLES where TABLE_TYPE=N'base table' -- 查看表列信息 select name as column_name,TYPE_

MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MDF文件里,LDF文件是存放MS SQL Server操作过程中的日志记录. MDF文件必读附加到MS SQL Server数据库环境后,才能正常读取其中的数据.当由于某种原因数据库附加不上,MDF数据库文件的内容就没办法读取,修复的方法有两种: 1. 使用MS SQL Server环境进行修复,先以

MS SQL Server 数据库连接字符串

MS SQL Server 数据库连接字符串详解 C# 连接串设置超时时间 SqlConnection.ConnectionTimeout 与 SqlCommand.CommandTimeout 及SqlBulkCopy.BulkCopyTimeout属性 https://msdn.microsoft.com/zh-cn/library/8xx3tyca.aspx  SQL Server 连接池 (ADO.NET) http://www.docin.com/p-576271306.html 4.

MS SQL Server带有时间的记录怎样查询

原文:MS SQL Server带有时间的记录怎样查询 比如某一张表[A]有一个保存日期包含时间字段[B],如果以这个段[B]作查询条件对数据记录进行查询.也我们得花些心思才能查询到我们想得到的记录. 现在我们需要查询这天2014-06-21的所有记录: SELECT * FROM [A] WHERE [B] = '2014-06-21' 上面的语法,将查询不到任何记录.也许会有网友想到使用BETWEEN: SELECT * FROM [A] WHERE [B] BETWEEN '2014-06

MS Sql Server 中主从库的配置和使用介绍(转)

网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求:这时候我们可以考虑使用主从库. 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据的查询操作:从库负责查询较旧数据,做一些对实效性要求较小的分析,报表生成的工作.这样做将数据库的压力分担到两台服务器上从而保证整个系统响应的及时性. SQL Server提供了复制机制来帮我们实现主从库的机制.我们看下如何在sql server 2005中实践: 实践前需要新创建一个Test的数据库

MS SQL SERVER数据库简单回顾

MS SQL SERVER数据库 1.创建数据库 create database javateam; 2.使用数据库 use javateam; 3.创建表 create   table   表名 ( 字段名    字段类型   主键   字段增长(从X开始  , 每次加X个), 字段名  字段类型, 字段名  字段类型 ); create table peopleNone ( pid int primary key identity(1,1), pname varchar(32), psex

SQL SERVER中求上月、本月和下月的第一天和最后一天 DATEADD DATEDIFF

SQL SERVER中求上月.本月和下月的第一天和最后一天 1.上月的第一天 SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111) 2.上月的最后一天 SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59' 3.本月的第一天 SELECT CO

用SQL语句查找包含有某个关键字的存储过程、触发器、函数等(仅适用MS SQL SERVER)

原文:用SQL语句查找包含有某个关键字的存储过程.触发器.函数等(仅适用MS SQL SERVER) 第一种方法:利用系统表进行查询 --将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%text%' and o.xtype = 'P' xtype:对象类型.可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F

MS Sql Server 数据库或表修复

提示数据库处于恢复模式时重建日志文件可以解决 DBCC REBUILD_LOG('db_name','c:\mssql7\data\dbxxx_3.LDF') MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB  重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误. use master declare @databasen