SQL Server 2000学习笔记(2)

来源:互联网 发布:无锡网店美工培训 编辑:程序博客网 时间:2024/04/30 23:21

今天学习的是时间函数 

--日期函数的使用
/*datepart的格式
Datepart          Abbreviations
year                   yy, yyyy
quarter             qq, q
month               mm, m
dayofyear         dy, y
day                   dd, d
week                wk, ww
weekday          dw
hour                 hh
minute            mi, n
second            ss, s
millisecond    ms
*/

--DATEADD(datepart,number,date):在date的值上加上number后,再返回日期(datetime)
select dateadd(dd,3,getdate()) --结果是:2007-03-31 10:48:33.623

--DATEDIFF(datepart,startdate,enddate):startdate,enddate都为日期类型,返回enddate-startdate的日期间隔 (nt)
select getdate(), datediff(dd,getdate(),dateadd(dd,3,getdate())),dateadd(dd,3,getdate()) --返回:3

--DATENAME(datepart,date):返回date的datepart,如果是:yy就返回年,如果是mm就返回月.返回的是:字符串(nvarchar)
select datename(mm,getdate()) --返回今天是几号。
select datename(dy,getdate()) --返回今天是这一年的第几天。

--DATEPART(datepart,date):返回date的datepart,如果是:yy就返回年,如果是mm就返回月。返回的是:数值(int)
select datepart(mm,getdate()) --返回今天是这一年的第几天。
select datename(qq,getdate()) --返回今天所属的季节

--DATE(datetime):返回datetime的日期(int)
select day(getdate())

--GETDATE():返回当前的日期精确到毫秒级(datetime)
select getdate()

--MONTH(datetime):返回datetime的月份(int)
select month(getdate())

--YEAR(datetime):返回datetime的年份(int)
select year(getdate())


--DATENAME()与DATEPART()功能de区别是返回类型不同。前者为nvarchar后者为int

--全局变量的使用
UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
   print 'Warning: No rows were updated'