日期和時間函式主要用來處理日期和時間值,本篇主要介紹各種日期和時間函式的功能和用法,一般的日期函式除了使用date型別的引數外,也可以使用datetime型別的引數,但會忽略這些值的時間部分。相同的,以time型別值為引數的函式,可以接受datetime型別的引數,但會忽略日期部分。
getdate()函式用於返回當前資料庫系統的日期和時間,返回值的型別為datetime.
【例】select getdate() as currenttime;
utcdate()函式返回當前utc(世界標準時間)日期值.
【例】select getutcdate() as utctime;
因為本人深處朝廷管轄範圍之內,位於東八時區,所以系統的當前時間比utc提前8小時,所以這裡顯示的utc時間需要減去8個小時的時差。
day(d)函式用於返回指定日期的d是乙個月中的第幾天,範圍從1~31,該函式在功能上等價於datepart(dd,d)。
【例】select day('2015-04-30 01:01:01');
month(d)函式用於返回指定日期d中月份的整數值。
【例】select month('2015-04-30') as monthvalue;
year(d)函式返回指定日期d中年份的整數值。
【例】select year('2015-04-30'),year(1997-07-01);
datename(dp,d)根據dp指定返回日期中相應部分的值,例如year返回日期中的年份值,month返回日期中的月份值,dp其它可以取的值有:quater,dayofyear,day,week,weekday,hour,minute,second等。
【例】select datename(year,'2015-04-30 01:01:01') as yearvalue;
datepart(dp,d)函式返回指定日期中相應的部分的整數值,dp的取值與datetime函式相同。
【例】select datepart(year,'2015-04-30 01:01:01'),datepart(month,'2015-04-30 01:01:01'),
dateadd(dp,num,d)函式用於執行日期的加運算,返回指定日期值加上乙個時間段後的新日期。dp指定日期中進行加法運算的部分值,例如:year,month,day,hour,minute,second,millsecond等,num指定與dp相加的值,如果該值為非整數值,將捨棄該值的小數部分,d為執行加法運算的日期。
日期函式上面例子的指令碼:
-時間函式
select
getdate() as
currenttime;
select getutcdate() as
utctime;
select
day('
2015-04-30 01:01:01');
select
month('
2015-04-30
')as
monthvalue;
select
year('
2015-04-30
'),year('
1997-07-01');
select
datename(year,'
2015-04-30 01:01:01
') as
yearvalue,
datename(quarter,'
2015-04-30 01:01:01
') as
quatervalue,
datename(dayofyear,'
2015-04-30 01:01:01
') as
dayofyearvalue,
datename(day,'
2015-04-30 01:01:01
') as
dayvalue,
datename(week,'
2015-04-30 01:01:01
') as
weekvalue,
datename(weekday,'
2015-04-30 01:01:01
') as
weekdayvalue,
datename(hour,'
2015-04-30 01:01:01
') as
hourvalue,
datename(minute,'
2015-04-30 01:01:01
') as
minutevalue,
datename(second,'
2015-04-30 01:01:01
') as
secondvalue;
select
datepart(year,'
2015-04-30 01:01:01'),
datepart(month,'
2015-04-30 01:01:01'),
datepart(dayofyear,'
2015-04-30 01:01:01');
select
dateadd(year,1,'
2015-04-30 01:01:01
') as
yearadd,
dateadd(month ,2, '
2015-04-30 01:01:01
') as
weekdayadd,
dateadd(hour,2,'
2015-04-30 01:01:01
') as houradd;
Sql Server函式全解《二》數學函式
原文 sql server函式全解 二 數學函式 eg select abs 2 abs 3.3 abs 33 pi eg select rand rand rand 可以看到,不帶引數的rand 每次產生的隨即數值是不同的。eg select rand 10 rand 10 rand 11 可以看...
ROPEmporium通關全解(四)
前言 1.關於rop rop的全稱為return oriented programming 返回導向程式設計 這是一種高階的記憶體攻擊技術可以用來繞過現代作業系統的各種通用防禦 比如記憶體不可執行和 簽名等 rop是一種攻擊技術,其中攻擊者使用堆疊的控制來在現有程式 中的子程式中的返回指令之前,立即...
PHP漏洞全解 四 SQL注入
sql注入攻擊 sql injection 是攻擊者在表單中提交精心構造的sql語句,改動原來的sql語句,如果web程式沒有對提交的資料經過檢查,那麼就會造成sql注入攻擊。1 攻擊者訪問有sql注入漏洞的站點,尋找注入點 2 攻擊者構造注入語句,注入語句和程式中的sql語句結合生成新的sql語句...