笔记57 SQLServer时间日期函数详解
笔记57 SQLServer时间日期函数详解
1 --SQLServer时间日期函数详解 2 --1、当前系统日期、时间 3 select getdate() 4 5 6 --2. 在向指定日期加上一段时间的基础上,返回新的 datetime 值 7 --1.向日期加上2天 8 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 9 10 --2.向月份加上2天 11 12 select dateadd(month,2,'2004-10-15') --返回:2004-12-17 00:00:00.000 13 14 15 --3. datediff 返回跨两个指定日期的日期和时间边界数 16 select datediff(day,'2004-09-01','2004-09-18') --返回:17 17 select datediff(day,'2004-09-18','2004-09-01') --返回:-17 18 19 --比较两个datetime 类型数据A、B是否同年同月同日的方法 20 21 --where datediff(day,A,B) = 0 22 23 --同样,要比较A、B是否同年同月的方法是: 24 --where datediff(month,A,B) = 0 25 26 27 --4. datepart 返回代表指定日期的指定日期部分的整数 28 SELECT DATEPART(month, '2004-10-15') --返回 10 29 30 --5. datename 返回代表指定日期的指定日期部分的字符串 31 SELECT datename(weekday, '2004-10-15') --返回:星期五 32 33 SELECT datename(weekday, getdate()) --返回:当前星期 34 35 36 --6. day(), month(),year() --可以与datepart对照一下 37 select 当前日期=convert(varchar(10),getdate(),120) ,当前时间=convert(varchar(8),getdate(),114) --不用cast而用convert的原因是style 38 --select 当前日期=CAST(GETDATE() AS VARCHAR(10)) ,当前时间=CAST(GETDATE() AS VARCHAR(8)) 39 select datename(dw,'2004-10-15') 40 select 本年第多少周=datename(week,'2004-10-15'),今天是周几=datename(weekday,'2004-10-15') 41 42 --返回当前日期,当前时间,今天周几,本年第几周 43 44 select convert(varchar(10),getdate(),120) AS 日期 45 ,convert(varchar(8),getdate(),114) AS 当前时间,datename(dw,getdate()) AS 星期几,datename(week,getdate()) AS 第几周 46 47 --函数 参数/功能 48 --GetDate( ) 返回系统目前的日期与时间 49 --DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 50 --DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期 51 --DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值 52 --DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称