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. P3613 睡觉困难综合征 LCT+贪心+位运算

    \(\color{#0066ff}{ 题目描述 }\) 由乃这个问题越想越迷糊,已经达到了废寝忘食的地步.结果她发现--晚上睡不着了!只能把自己的一个神经元(我们可以抽象成一个树形结构)拿出来,交给D ...

  2. 树状数组【bzoj1103】: [POI2007]大都市meg

    1103: [POI2007]大都市meg 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了. 不过,她经常回忆起以前在乡间漫步的情景.昔日,乡 ...

  3. 牛客寒假算法基础集训营4 E applese 涂颜色

    链接:https://ac.nowcoder.com/acm/contest/330/E 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列的方阵.现在它要为这个方 ...

  4. JDK的详细安装步骤

    jdk的安装 一.下载jdk安装包,可以从https://www.cnblogs.com/zyx110/p/10799387.html中查找并下载 二.双击打开jdk安装包,一路傻瓜式安装,点击下一步 ...

  5. ftp 添加用户及修改用户目录

    添加用户 : useradd 用户名 -s /sbin/nologin //限定用户test不能telnet,只能ftp; usermod -s /sbin/bash 用户名 //用户恢复正常 ;该账 ...

  6. Number Sequence (KMP第一次出现位置)

    Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] (1 <= M ...

  7. OJ 26217 :Work Scheduling(贪心+优先队列)

    约翰有太多的工作要做.为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有10^8个单位时间.在任一时刻,他都可以选择编号1~N的N(1 <= N &l ...

  8. java不可见字符 trim

    trim()的作用去掉前后的空格,  但是解析excel,出现一个字符串trim之后还是有”空格“ 做了一下实验,原来一些不可见的字符不一定是“空格”, trim()也去不掉, 只能自己写方法了

  9. my17_Mysql 主从切换

    注意事项: 从库提升为主库read_only要设置为OFF原主库改为从库后,read_only要设置ONread_only=ON并不能对root生效,确保root不会进行数据写入从主库进行 flush ...

  10. vue混入(mixins)

    混入(mixins)是一种分发vue组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项. 当组件使用混入对象时,所以混入对象的选项将被混入该组件本身选项,当组件和混入对象含有同名选项时,这 ...