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 查询当天、本周、本月记录的更多相关文章

  1. ylb:SQL Server中的时间函数

    ylbtech-SQL Server:SQL Server-SQL Server中的时间函数 SQL Server中的时间函数. 1,SQL Server中的时间函数 返回顶部 1.   当前系统日期 ...

  2. 在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值)

    原文:在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. sql循环取差值,该怎 ...

  3. 在论坛中出现的比较难的sql问题:31(row_number函数+子查询 月环比计算)

    原文:在论坛中出现的比较难的sql问题:31(row_number函数+子查询 月环比计算) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.

  4. 在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题)

    原文:在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 求一查询语句 http: ...

  5. 在论坛中出现的比较难的sql问题:3(row_number函数 分组查询)

    原文:在论坛中出现的比较难的sql问题:3(row_number函数 分组查询) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所 ...

  6. 在论坛中出现的比较难的sql问题:2(row_number函数+子查询)

    原文:在论坛中出现的比较难的sql问题:2(row_number函数+子查询) 2.如何去掉字段内的重复.

  7. sql的日期和时间函数–date_format

    Mysql的日期和时间函数–date_format   DATE_FORMAT(date,format)依照 format 字符串格式化 date 值.下面的修饰符可被用于 format 字符串中:修 ...

  8. SQL中的日期时间函数

    之所以把日期时间函数单独拿出来回顾一下,是因为这一部分的内容比较独立,C#中也有类似的日期时间函数,趁着想得起来,写个标题先.

  9. SQL ServerOVER 子句,over开窗函数,SQL SERVER 开窗函数

    https://technet.microsoft.com/zh-cn/library/ms189461(v=sql.105).aspx http://www.cnblogs.com/85538649 ...

随机推荐

  1. nodejs nodejs模块使用及简单的示例

    nodejs模块使用及简单的示例 参考菜鸟教程网:http://www.runoob.com/ 一.fs模块的使用: 1.文件操作: 读文件: //读文件 var fs=require('fs'); ...

  2. nodejs nodejs的操作

    nodejs的操作 由于版本造成的命令不能正常安装,请参考五问题 一.概念: 参考百度百科: http://baike.baidu.com/link?url=aUrGlI8Sf20M_YGk8mh-- ...

  3. 温故而知新_C语言_递归

    递归. 是的,差不多就是这种感觉.上面就是类似递归的显示表现. 2017 10 24更新: 递归这个问题放了很久.也没有写.大概是自己还没有好好理解吧. 在这里写下自己理解的全部. 一 何为递归. 字 ...

  4. 2019-RHCSA-红帽题库(稳定)

    RHCSA考题 Hostname:station.rhce.ccIP address:192.168.122.100Netmask:255.255.255.0Gateway:192.168.122.1 ...

  5. 形态形成场(矩阵乘法优化dp)

    形态形成场(矩阵乘法优化dp) 短信中将会涉及前\(k\)种大写字母,每个大写字母都有一个对应的替换式\(Si\),替换式中只会出现大写字母和数字,比如\(A→BB,B→CC0,C→123\),代表 ...

  6. P3941 入阵曲

    \(\color{#0066ff}{ 题目描述 }\) 小 F 很喜欢数学,但是到了高中以后数学总是考不好. 有一天,他在数学课上发起了呆:他想起了过去的一年.一年前,当他初识算法竞赛的 时候,觉得整 ...

  7. kuangbin专题十六 KMP&&扩展KMP HDU2328 Corporate Identity

    Beside other services, ACM helps companies to clearly state their “corporate identity”, which includ ...

  8. Eclipse使用Ctrl+C和Ctrl+V复制粘贴时总是卡顿

    Eclipse使用Ctrl+C和Ctrl+V复制粘贴时总是卡顿,解决办法: 更改打开代码超链接按键Ctrl为Alt: Window -> Preferences -> General -& ...

  9. P4289 [HAOI2008]移动玩具

    传送门 广搜 4*4 的方阵只有 0 和 1 显然可以状态压缩 (如样例的开始状态压缩后就是1111000011100010) 为了加快速度用了双向广搜(顺便学了一下双向广搜) 双向广搜顾名思义 就是 ...

  10. 江西财经大学第一届程序设计竞赛 E

    链接:https://www.nowcoder.com/acm/contest/115/E来源:牛客网 题目描述 当你的好友给你发来一条消息,你的消息列表上就会置顶显示该好友的名字以及该好友发给你的消 ...