日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]DECLARE @dt datetimeSET @dt=GETDATE()DECLARE @number intSET @number=3--1.指定日期該年的第一天或最后一天--A. 年的第一天SE

DECLARE @dt datetime
SET @dt=GETDATE()

DECLARE @number int
SET @number=3

--1.指定日期該年的第一天或最后一天
--A. 年的第一天
SELECT CONVERT(char(5),@dt,120)+'1-1'

--B. 年的最后一天
SELECT CONVERT(char(5),@dt,120)+'12-31'


--2.指定日期所在季度的第一天或最后一天
--A. 季度的第一天
SELECT CONVERT(datetime,
??? CONVERT(char(8),
??????? DATEADD(Month,
??????????? DATEPART(Quarter,@dt)*3-Month(@dt)-2,
??????????? @dt),
??????? 120)+'1')

--B. 季度的最后一天(CASE判斷法)
SELECT CONVERT(datetime,
??? CONVERT(char(8),
??????? DATEADD(Month,
??????????? DATEPART(Quarter,@dt)*3-Month(@dt),
??????????? @dt),
??????? 120)
??? +CASE WHEN DATEPART(Quarter,@dt) in(1,4)
??????? THEN '31'ELSE '30' END)

--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-1,
??? CONVERT(char(8),
??????? DATEADD(Month,
??????????? 1+DATEPART(Quarter,@dt)*3-Month(@dt),
??????????? @dt),
??????? 120)+'1')


--3.指定日期所在月份的第一天或最后一天
--A. 月的第一天
SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')

--B. 月的最后一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')

--C. 月的最后一天(容易使用的錯誤方法)
SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))


--4.指定日期所在周的任意一天
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)


1.一個月第一天的
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

2.本周的星期一
Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

3.一年的第一天
Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

4.季度的第一天
Select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

5.當(dāng)天的半夜
Select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

6.上個月的最后一天
Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

7.去年的最后一天
Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

8.本月的最后一天
Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

9.本年的最后一天
Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

10.本月的第一個星期一
select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

返回當(dāng)前日期和時間
通過函數(shù)GETDATE(),你可以獲得當(dāng)前的日期和時間。函數(shù)GETDATE()可以用來作為DATEDIME型字段的缺省值。這對插入記錄時保存當(dāng)時的時間是有用的。要建立一個表,其中的記錄包含有當(dāng)前的日期和時間,可以添加一個DATETIME型字段,指定其缺省值為函數(shù)GETDATE()的返回值,就象這樣:

Create TABLE site_log (
username VARCHAR(40),
useractivity VARCHAR(100),
entrydate DATETIME DEFAULT GETDATE())

轉(zhuǎn)換日期和時間
函數(shù)GETDATE()的返回值在顯示時只顯示到秒。實際上,SQL Sever內(nèi)部時間可以精確到毫秒級(確切地說,可以精確到3.33毫秒)。
要得到不同格式的日期和時間,你需要使用函數(shù)CONVERT()。例如,當(dāng)下面的這個語句執(zhí)行時,顯示的時間將包括毫秒:

Select CONVERT(VARCHAR(30),GETDATE(),9)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉