zoukankan      html  css  js  c++  java
  • SQL 日期操作函数

    代码如下:

    select dateDiff(month,'2010-03-01','2010-05-31')	--参数:1.表示日期部分	2.表示开始日期	3.表示结束日期		结果为:2
    
    select dateDiff(month,'2010-03-01','2009-05-31')	--结果为:-10
    
    select dateDiff(year,'2009-01-01','2010-12-31')		--结果为:1
    
    select datediff(day,'2004-09-01','2004-09-18')		--结果为:17	(!!!!!!注意)
    
    
    select dateDiff(m,0,'1901-01-01')	--返回12
    
    select dateAdd(m,12,0)	--返回1901-01-01 00:00:00	即1900-01-01 00:00:00 的月份加12个月
    
    select dateAdd(m,12,5)  --返回1901-01-06 00:00:00	即1900-01-01 00:00:00 的月份加12个月,日加上5天
    
    
    ------------------------------------------------------------------------------------------------------------
    
    select dateAdd(month,5,'2010-02-15')				--参数:1.表示日期部分	2.表示要增加的数量	3.要操作的日期	结果为:2010-07-15 00:00:00.000
    
    select dateAdd(month,-5,'2010-02-15')				--结果为:2009-09-15 00:00:00.000
    
    ------------------------------------------------------------------------------------------------------------
    
    select dateName(weekday,'2004-10-15')				--结果为:星期五
    
    select dateName(week,'2010-01-03')					--结果为:2,本年第几周			
    
    select convert(varchar(20),getdate(),23)			--结果为:2010-03-09			
    
    select convert(varchar(20),getdate(),108)			--结果为:09:44:39
    
    ------------------------------------------------------------------------------------------------------------
    
    select dateDiff(wk,0,'1900-01-01')						--结果为0,说明1900-01-01是记录以来的第一周
    
    select dateAdd(wk,dateDiff(wk,0,getdate()),0)			--是求本周一的日期和时间
    
    select dateAdd(wk,dateDiff(wk,0,getdate()),6)			--是求本周日的日期和时间
    
    select convert(varchar(20),dateAdd(wk,dateDiff(wk,0,getdate()),0),23)			--是求本周一的日期
    
    select convert(varchar(20),dateAdd(wk,dateDiff(wk,0,getdate()),6),23)			--是求本周日的日期
    
    select convert(varchar(20),getdate(),23) + '_' + convert(varchar(2),datepart(hour,getdate())) + '-' + convert(varchar(2),datepart(minute,getdate())) + '-' + convert(varchar(2),datepart(second,getdate()))   -- 结果为:2010-07-30_15-11-42
    
    
    --统计本周过生日的人数,提示本周是从星期一开始的
    select count(Id) 
    from HRUserInfo
    where dateAdd(year,dateDiff(year,userBirthday,getDate()),userBirthday)
        between dateAdd(day,(dateDiff(day,0,getDate())/7*7),0) 
             and dateAdd(day,(dateDiff(day,0,getDate())/7*7),0) + 6;
    
    --统计本周过生日的人数,提示本周是从星期天开始的
    select count(Id) 
    from HRUserInfo
    where dateAdd(year,dateDiff(year,userBirthday,getDate()),userBirthday)
        between dateAdd(day,(dateDiff(day,0,getDate())/7*7)-1,0) 
             and dateAdd(day,(dateDiff(day,0,getDate())/7*7)-1,0) + 6;
    
    
    
    
    
    set nocount on
    
    
    --查询日期月包含的天数
    CREATE FUNCTION DaysInMonth ( @date datetime ) Returns int
    AS
    BEGIN
    RETURN Day(dateadd(mi,-3,DATEADD(m, DATEDIFF(m,0,@date)+1,0)))
    END
    go
    select dbo.DaysInMonth('2010-02-01')
    
    
    
    

    等待更新...

  • 相关阅读:
    java程序员从ThinkPad到Mac的使用习惯改变
    关于mybatis缓存配置详解
    log4j每天,每小时产生一日志文件
    $_SERVER常用
    curl抓取页面时遇到重定向的解决方法
    十三)CodeIgniter源码分析之Loader.php
    十二)CodeIgniter源码分析之Model.php
    十一)CodeIgniter源码分析之Controller.php
    十)CodeIgniter源码分析之Output.php
    九)CodeIgniter源码分析之Hook.php
  • 原文地址:https://www.cnblogs.com/Music/p/1799719.html
Copyright © 2011-2022 走看看