SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录
SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录
转:http://blog.csdn.net/Json1204/article/details/7863801?locationNum=11&fps=1
取某月天数:select day(dateadd(month,,'2012-02-01')-)
--当月天数
select day(dateadd(ms,-,DATEADD(m, DATEDIFF(m,,getdate())+,)))
---当月第一天
select dateadd(d,-day(getdate())+,getdate())
---当月最后一天
select dateadd(d,-,dateadd(m,,dateadd(d,-day(getdate())+,getdate()) ))
--本年最后一天
select dateadd(d,-day(getdate()),dateadd(m,,getdate()))
--当月第一个星期一
SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, - DAY(getdate()), getdate())), '')
SQL Server 日期算法:
本月的第一天:
select dateadd(mm,datediff(mm,,getdate()),)
本周的星期一:
select dateadd(wk,datediff(wk,,getdate()),)
一年的第一天:
select DATEADD(yy, DATEDIFF(yy,,getdate()), )
季度的第一天:
SELECT DATEADD(qq, DATEDIFF(qq,,getdate()), )
当天的零时:
SELECT DATEADD(dd, DATEDIFF(dd,,getdate()), )
SELECT DATEADD(ss,, DATEDIFF(dd,,getdate()))
select DATEADD(ss,-,convert(varchar(),getdate(),))
select cast(convert(varchar(),getdate(),)+' 00:00:00' as datetime)
上个月的最后一天:
本月第一天减2ms.
SELECT dateadd(ms,-,DATEADD(mm, DATEDIFF(mm,,getdate()), ))
本月的最后一天:
SELECT dateadd(ms,-,DATEADD(mm, DATEDIFF(m,,getdate())+, ))
本月的第一个星期一去掉时分秒:
DATEADD(day, DATEDIFF(day,,getdate()), )
显示星期几:
select datename(weekday,getdate())
如何取得某个月的天数:
SELECT Day(dateadd(ms,-,DATEADD(mm, DATEDIFF(m,,getdate())+, )))
判断是否闰年:
SELECT caseday(dateadd(mm, , dateadd(ms,-,DATEADD(yy, DATEDIFF(yy,,getdate()), )))) when28then'平年'else'闰年'end
一个季度多少天:
declare@mtinyint,@timesmalldatetimeselect@m=month(getdate()) select @m=case when @mbetween and then when @m between and then when @m between and then else endselect @time=datename(year,getdate())+'-'+convert(varchar(),@m)+'-01' select datediff(day,@time,dateadd(mm,,@time)) --A. 季度的第一天
SELECT CONVERT(datetime, CONVERT(char(), DATEADD(Month, DATEPART(Quarter,@dt)*-Month(@dt)-, @dt),)+'') --B. 季度的最后一天(CASE判断法)
SELECT CONVERT(datetime,CONVERT(char(),DATEADD(Month, DATEPART(Quarter,@dt)*-Month(@dt), @dt),) +CASE WHEN DATEPART(Quarter,@dt) in(,) THEN ''ELSE '' END)
--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-,CONVERT(char(),DATEADD(Month,+DATEPART(Quarter,@dt)*-Month(@dt), @dt),)+'') 一、sql server日期时间函数
. 当前系统日期、时间 select getdate()
. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,,'2004-10-15') --返回:-- ::00.000
. datediff 返回跨两个指定日期的日期和时间边界数
select datediff(day,'2004-09-01','2004-09-18') --返回:
. datepart 返回代表指定日期的指定日期部分的整数。
select DATEPART(month, '2004-10-15') --返回
. datename 返回代表指定日期的指定日期部分的字符串
select datename(weekday, '2004-10-15') --返回:星期五
. day(), month(),year() --可以与datepart对照一下
select 当前日期=convert(varchar(),getdate(),) ,当前时间=convert(varchar(),getdate(),)
select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,'2004-10-15') ,今天是周几=datename(weekday,'2004-10-15') 二、日期格式转换
Select CONVERT(varchar(), GETDATE(), ): :57AM
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 06.05.
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 16.05.
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): ,
Select CONVERT(varchar(), GETDATE(), ): ::
Select CONVERT(varchar(), GETDATE(), ): :::827AM
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): -- ::
Select CONVERT(varchar(), GETDATE(), ): -- ::47.157
Select CONVERT(varchar(), GETDATE(), ): // :: AM
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ): ::
Select CONVERT(varchar(), GETDATE(), ): -- ::47.250
Select CONVERT(varchar(), GETDATE(), ): :57AM
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 2006.05.
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 16.05.
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): ,
Select CONVERT(varchar(), GETDATE(), ): ::
Select CONVERT(varchar(), GETDATE(), ): :::437AM
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): -- ::
Select CONVERT(varchar(), GETDATE(), ): -- ::49.700
Select CONVERT(varchar(), GETDATE(), ): --16T10::49.827
Select CONVERT(varchar(), GETDATE(), ): ???? ?????? :::907AM 函数参数/功能
GetDate( )
返回系统目前的日期与时间
DateDiff (interval,date1,date2)
以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1DateAdd (interval,number,date)
以interval指定的方式,加上number之后的日期DatePart (interval,date)返回日期date中,interval指定部分所对应的整数值DateName (interval,date)返回日期date中,interval指定部分所对应的字符串名称 参数 interval的设定值如下:
值缩 写(Sql Server)Access 和 ASP说明:
YearYyyyyy年 ~ 9999QuarterQqq 季 ~ 4MonthMmm 月1 ~ 12Day of yearDyy 一年的日数,一年中的第几日 -366DayDdd 日,-31WeekdayDww一周的日数,一周中的第几日 -7WeekWkww 周,一年中的第几周 ~ 51HourHhh 时0 ~ 23MinuteMin 分钟0 ~ 59SecondSss秒 ~ 59MillisecondMs-毫秒 ~
--零时
DECLARE @startDate1 DATE;
DECLARE @startDate DATETIME;
SET @startDate1=GETDATE();SELECT @startDate=DATEADD(DAY,-,@startDate1);
DECLARE @endDate DATETIME ;SET @endDate=DATEADD(second,-,CONVERT(DATETIME,@startDate1));
SELECT @startDate startDate,@endDate endDate;
datepart 缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns
sql server中的时间函数
sql server中的时间函数
. 当前系统日期、时间
select getdate()
. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,,'2004-10-15') --返回:-- ::00.000
. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:
. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回
. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
. day(), month(),year() --可以与datepart对照一下
select 当前日期=convert(varchar(),getdate(),)
,当前时间=convert(varchar(),getdate(),)
select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,'2004-10-15')
,今天是周几=datename(weekday,'2004-10-15')
SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录的更多相关文章
- ylb:SQL Server中的时间函数
ylbtech-SQL Server:SQL Server-SQL Server中的时间函数 SQL Server中的时间函数. 1,SQL Server中的时间函数 返回顶部 1. 当前系统日期 ...
- 在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值)
原文:在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. sql循环取差值,该怎 ...
- 在论坛中出现的比较难的sql问题:31(row_number函数+子查询 月环比计算)
原文:在论坛中出现的比较难的sql问题:31(row_number函数+子查询 月环比计算) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.
- 在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题)
原文:在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 求一查询语句 http: ...
- 在论坛中出现的比较难的sql问题:3(row_number函数 分组查询)
原文:在论坛中出现的比较难的sql问题:3(row_number函数 分组查询) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所 ...
- 在论坛中出现的比较难的sql问题:2(row_number函数+子查询)
原文:在论坛中出现的比较难的sql问题:2(row_number函数+子查询) 2.如何去掉字段内的重复.
- sql的日期和时间函数–date_format
Mysql的日期和时间函数–date_format DATE_FORMAT(date,format)依照 format 字符串格式化 date 值.下面的修饰符可被用于 format 字符串中:修 ...
- SQL中的日期时间函数
之所以把日期时间函数单独拿出来回顾一下,是因为这一部分的内容比较独立,C#中也有类似的日期时间函数,趁着想得起来,写个标题先.
- SQL ServerOVER 子句,over开窗函数,SQL SERVER 开窗函数
https://technet.microsoft.com/zh-cn/library/ms189461(v=sql.105).aspx http://www.cnblogs.com/85538649 ...
随机推荐
- 【Linux】-Ubuntu下配置JDK1.8
前言 这次实在是不想写前言了,好吧,那咱就不写了. 内容 怀着复杂的心情来整理这个小小的操作,其实我的内心是拒绝的,因为太简单了,但是我却花费了很长的时间,有效时间花费了将近两个小时去整理这个小玩意儿 ...
- AngularJS(二)——常见指令以及下拉框实现
前言 学完AngularJS,总体上感觉没什么新鲜的东西,但是又感觉每一步都很新鲜,因为没有见过,又因为学到的语法函数和JavaScript差不多,本篇主要介绍一些AngularJS的指令,常见指令和 ...
- 洛谷P3301 [SDOI2013]方程(扩展Lucas+组合计数)
题面 传送门 题解 为啥全世界除了我都会\(exLucas\)啊--然而我连中国剩余定理都不会orz 不知道\(exLucas\)是什么的可以去看看yx巨巨的这篇博客->这里 好了现在我们就解决 ...
- C语言数据结构-链式栈的实现-初始化、销毁、长度、取栈顶元素、查找、入栈、出栈、显示操作
1.数据结构-链式栈的实现-C语言 //链式栈的链式结构 typedef struct StackNode { int data; struct StackNode *next; } StackNod ...
- P1959 遗址_NOI导刊2009普及(6)
题意:平面上n个点(坐标$0\le x,y\le 5000,n \le 3000$) 求以其中四个点为顶点的正方形的最大面积 $O(n^2)$枚举两个点作为当前正方形的对角线 那么如何求出另外两个点呢 ...
- FFT字符串匹配
本文半原创 参考资料:其实就是照抄的什么参考啊 我们知道KMP可以用来在线性复杂度内进行制胡窜匹配 今天教您一种新方法:用FFT进行字符串匹配 您可能觉得这很玄学,FFT不是做多项式卷积的吗,怎么还可 ...
- CF351A Jeff and Rounding 思维
Jeff got 2n real numbers a1, a2, ..., a2n as a birthday present. The boy hates non-integer numbers, ...
- [ZJOI2009]狼和羊的故事 BZOJ1412
题目描述 “狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈 ...
- springboot整合dubbo注解方式(四)
在笔者换jar包时候出现问题: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/zook ...
- AngularJs ng-repeat解决循环对象出现重复项报错的问题
问题:ng-repeat 的循环对象是不能出现重复项的,所以如果有重复的就会报错,应该是 key value的问题吧,不是很了解内部运行机制:经过查询发现 在 循环后面加上 track by $i ...