GETDATE()

4 篇文章 0 订阅
2 篇文章 0 订阅

Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM 
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 
Select CONVERT(varchar(100), GETDATE(), 12): 060516 
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM 
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM 
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 
Select CONVERT(varchar(100), GETDATE(), 112): 20060516 
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827 
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM 

Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM  

定义:datediff(day/month/year,startdate,enddate)

日期函数:(要返回的天数/月数/年数,开始日期,结束日期)

具体形式:select 1,2,datediff(day,1,2) 天数 from aa

--本周第一天   

SELECT DATEADD(Day,1-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate())  

--or   

select dateadd(wk, datediff(wk,0,getdate()), 0)  

--本周第一天   

select dateadd(wk, datediff(wk,0,getdate()), 6)  

   

--上月第一天   

SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)  

--上月最后一天   

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59'  

--本月第一天   

select dateadd(dd,-datepart(dd,getdate())+1,getdate())  

--本月最后一天   

select dateadd(dd,-datepart(dd,getdate()) ,dateadd(mm,1,getdate()))  

--本月天数   

select datediff(dd,dateadd(dd,-datepart(dd,getdate())+1,getdate()), dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate())))  

--or   

select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime))))  

   

--下月第一天   

select dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate()))  

--下月最后一天   

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+2,0)),111)+' 23:59:59'  

--季度第一天   

SELECT   DATEADD(qq,   DATEDIFF(qq,0,getdate()),   0)   

--季度最后一天(直接推算法)   

SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,getdate())*3-Month(getdate()),getdate()),120)+'1')  

--季度的最后一天(CASE判断法)   

select DATEADD(Month,DATEPART(Quarter,getdate())*3-Month(getdate()),getdate())  

   

--本月第一个星期一   

SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '')   

--去年最后一天   

SELECT   dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))   

--今年第一天   

SELECT   DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0)   

--今年最后一天   

SELECT  dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1,0))  

   

--指定日期所在周的任意一天   

SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)--5.指定日期所在周的任意星期几   

--A.  星期天做为一周的第1天   

SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)  

--B.  星期一做为一周的第1天   

SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)  

---周内的第几日   

select datepart(weekday,getdate()) as 周内的第几日  

--年内的第几周   

select datepart(week,getdate()) as 年内的第几周  

--年内的第几季   

select datepart(quarter,getdate()) as 年内的第几季  

   

   

--判断某天是当月的第几周的sql函数    

CREATE   FUNCTION   WeekOfMonth(@day datetime)     

RETURNS int  

AS   

begin  

   

----declare @day datetime   

declare @num int  

declare @Start datetime  

declare @dd int  

declare @dayofweek char(8)  

declare @dayofweek_num char(8)  

declare @startWeekDays int  

---set @day='2009-07-05'   

if datepart(dd,@day)=1  

return 1  

else  

set @Start= (SELECT   DATEADD(mm,   DATEDIFF(mm,0,@day),   0)) --一个月第一天的   

set @dayofweek= (datename(weekday,@Start)) ---得到本月第一天是周几   

set @dayofweek_num=(select (case @dayofweek when '星期一' then 2  

when '星期二' then 3  

when '星期三' then 4  

when '星期四' then 5  

when '星期五' then 6  

when '星期六' then 7  

when '星期日' then 1  

end))  

set @dayofweek_num= 7-@dayofweek_num+1 ---得到本月的第一周一共有几天   

---print @dayofweek_num   

   set @dd=datepart(dd,@day----得到今天是这个月的第几天   

--print @dd   

if @dd<=@dayofweek_num --小于前一周的天数   

return 1  

else   

set @dd=@dd-@dayofweek_num  

if @dd % 7=0  

     begin  

       set @num=@dd / 7  

        return @num+1  

          

     end  

   else --if @dd % 7<>0   

      

     set @num=@dd / 7  

set @num=@num+1+1  

       return @num  

end  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0x12

下载和转换脚本可私信我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值