sqlserver 取月初月末的时间

1.取月初的时间
   --getdate() :2012/05/08
 19:29:00

    select
convert(varchar,dateadd(day,-day(getdate())+1,getdate()),111)
 --结果:2012/05/08

 
2.取月末时间

     select
convert(varchar,dateadd(day,-day(getdate()),dateadd(month,1,getdate())),111)
 
--结果集:2012/05/31

 3.取某一个月的天数

 
   select
datediff(day,dateadd(day,-day(getdate()),getdate()),dateadd(day,-day(getdate()),dateadd(month,1,getdate())))
 ---31
 
可将getdate()设为参数,想求几月的天数,则将本月的随便一个日期替换,如想查2月份的,则

 
   select
datediff(day,dateadd(day,-day(‘20120201‘),‘20120201‘),dateadd(day,-day(‘20120201‘),dateadd(month,1,‘20120201‘)))
 --29

sqlserver 取月初月末的时间,布布扣,bubuko.com

时间: 2024-12-19 19:33:10

sqlserver 取月初月末的时间的相关文章

当月月初月末时间戳

1 //月初月末时间戳 2 $Y = 2016;//获取年,示例,真实环境从前端获取数据 3 $m = 12;//获取月,示例,真实环境从前端获取数据 4 $month = $Y."-".$m;//当前年月 5 $month_start = strtotime($month);//指定月份月初时间戳 6 $month_end = mktime(23, 59, 59, date('m', strtotime($month))+1, 00);//指定月份月末时间戳 7 var_dump(a

获取指定日期的常用前后节点(月初月末周一周末等等)

原文:获取指定日期的常用前后节点(月初月末周一周末等等) 注:周节点方面是根据中国习惯,视周一为起,周日为末. /*--------------------------------- 函数:获取某日期的特定起止节点v0.01 Author:AhDung Update:201305151755 ---------------------------------*/ ALTER FUNCTION dbo.FGetSpecialDate_ahdung(@date DATE, @SpcDate VARC

SQLSERVER取当前月第一天和最后一天

--本月第一天: select   dateadd(dd,-day(getdate())+1,getdate()) --本月最后一天: SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) --上个月第一天: select CONVERT(int, CONVERT(varchar(10),DATEADD(m,-1 ,dateadd(dd,-day(getdate())+1,getdate())) ,112)) --上个月最

Sql获取当月月初和月末的时间

DECLARE @CurrentTime DATETIME DECLARE @Start DATETIME DECLARE @End DATETIME SET @CurrentTime = GETDATE() SET @Start = DATEADD(ms, -1, DATEADD(mm, DATEDIFF(m, 0, @CurrentTime), 0)) SET @End = DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, @CurrentTime) +

除法和取余的运算时间

上次排队那题,让我发现减少取余的次数可以减少很多时间. 然后查到一篇文章 高频率调用的函数一定要保证最优化,慎用除法和余数 原po显示404,所以只有别人转载的. 就是说:除法.取余的指令 CPU周期 可以达到加减法的80倍(周期越多越耗时),因此高频率使用的函数里,以及循环次数很大的循环里,可以通过减少除法次数和取余次数来优化.里面介绍了一些方法,比如用乘法.减法代替. 然后又看到另一篇文章 取模.乘法和除法运算在CPU和GPU上的效率 意思是好像取模运算并没有想象中的那么慢 对于CPU,最好

SQLServer 2012中,设置“时间”默认值为“当前时间"

最近,需要在SQLServer 2012中,设置datetime的默认值为当前时间. 通过可视化窗口进行设置,而不是将getdate()函数写在sql语句中,也不是将‘2022-2-2 22:22:22’写在sql语句中. 起初网上已经有文章写到,不过更多的是写在sql语句中,当时设置默认值的格式有些问题,一直失败. 正确插图:  (getdate()) 其实它是一个可视化而已,在sql语句中拼写getdate()能ok,在可视化窗口也ok的. 就是这么简单,但当时脑残了,非得加上单引号什么乱七

sqlServer 取每组的前几条数据

首先的建表语句: if exists (select * from sysobjects where id = OBJECT_ID('[test]') and OBJECTPROPERTY(id, 'IsUserTable') = 1) DROP TABLE [test] CREATE TABLE [test] ( [id] [int] IDENTITY (1, 1) NOT NULL , [name] [nvarchar] (50) NULL , [votenum] [int] NULL ,

sqlserver分区表实践:对时间分区表自动进行管理

项目问题:有一张日志表,插入和查询为主,每天记录数据为200多万,大小为2G-4G之间.一开始开发人员使用delete语句手动删除,保留7天数据,经常造成阻塞和性能瓶颈.但是如果不删除数据随着表越来越大,查询效率很低,由于应用有超时设置,经常出现timeout. 优化思路:采用分区表来实现日志表的自动随时间窗口滚动,即每天新增明天分区,并将7天前数据归档至日志表.以8月份为例子,当日日期为8号,流程如下图: 具体步骤: 1.建立32个文件组,32个数据库文件,对应于每月31天,每月对31个文件进

SQLServer的最大连接数 超时时间已到 但是尚未从池中获取连接

很多做架构设计.程序开发.运维.技术管理的朋友可能或多或少有这样的困惑: SQLServer到底支持多少连接数的并发? SQLServer是否可以满足现有的应用吗? 现有的技术架构支持多少连接数的并发? 在硬件性能与网络性能足够理想的情况下理论上可以支持多少并发连接? 生产环境中的数据库现在的并发量是多少? 如何监控现有数据库并发的数量? 生产环境中的并发量距离理论上的最大并量发还差多少? 为此,我专门写程序做了下测试,利用循环不断的打开连接并保持连接打开不关闭,测试代码如下: using Sy