SQL SERVER2005經常使用函數

SQL SERVER2005經常使用函數
 
1、字符串函數
a)         Charindex函數,用於返回一個字符串在另外一個字符串中第一次出現的位置
                        i.              Select charindex(‘bj’,’I love bj’),此函數返回的結果是8
 
b)        Upper函數,用於將小寫字符轉換成大寫
                        i.              Select upper(‘abcde’),此函數返回的結果是ABCDE
 
c)         Ltrim函數,用於除去字符串左邊的空格
                        i.              Select ltrim(‘   I love bj’),此函數返回的結果是I love bj
 
d)        Rtrim函數,用於除去字符串右邊的空格
                        i.              Select rtrim(‘   I love bj   ’),此函數返回結果是    I love bj
 
e)         Replace函數,用於將字符串中的一個字符替換成另外一個字符
                        i.              Select replace(‘abcdedd’,’d’,’f’),此函數返回的結果是abcfeff
 
2、日期函數
a)         Getdate()函數,用於返回當前系統時間
b)        Dateadd()函數,用於在日期的某部分上加上必定的值
                        i.              Select dateadd(mm,3,’02-09-2009’),此函數返回的結果是05-09-2009
 
c)         Datepart(),用於返回指定日期某部分的整數值
                        i.              Select datepart(year,’02-09-2009’),此函數返回的結果2009
 
d)        Datename(),用於返回日期所處的名稱
                        i.              Select datename(dw,’02-09-2009’),此函數會返回這一個日期對應的是星期幾
e)         Datediff(),用於比較日期指定部分的差別
Select datediff(dd,’02-09-2009’,’02-21-2009’),此函數會返回這兩個日期間的差值12
 
3、數學函數
a)         Abs()函數,返回該數值的絕對值,ABS-89)的結果爲89
b)        Power()函數,用於計算數值的冪運算,POWER52)結果爲25
c)         Round()函數,用於對數值進行四捨五入的運算,ROUND3.14234,2)返回3.14,括號後面的2用於表示數值的精度
d)        Ceiling()函數,用於返回一個大於或等於現有數值的最小整數
                        i.              Ceiling(34.5),返回的結果是35
                      ii.              Ceiling(34.0),返回的結果是34
e)         Floor()函數,用於返回一個小於或等於現有數值的最大整數
                        i.              Floor(34.5),返回的結果是34
                      ii.              Floor(34.0),返回的結果是34
 
4、聚合函數
a)         Sum( ),用於求和
b)        Avg(),用於求平均值
c)         Max(),用於計算數值的最大值
d)        Min(),用於計算數值的最小值
e)         Count(),用於計數統計
注意:用聚合函數在查詢數據表中的某一列時,若是不只要查詢這一列的內容,則須要用GROUP BY子句來配合使用,例如:
       Select sum(charge),name from accountbill where name=’wjc’ group by name
 
5、系統函數
a)         Convert( )用於數據類型轉換
                        i.              Convert(varchar(12),1234),返回結果是字符串型數據‘1234
b)        Cast( )用於數據類型轉換,不多平臺支持此函數
                        i.              Cast(12 as varchar(3)),返回的是字符串‘12
 
 
 
SQL SERVER2005函數應用實例
 
1、select ‘用戶’+phonenumber+’市話費用’+cast(charge as varchar(20))+’’ as 市話費用 from accountbill where ispaid=0 and calltype=0
做用:從accountbill表中用戶市話(calltype=0)的欠費(ispaid=0)費用,其中用到了CAST函數,charge列的值本是貨幣的數據,爲了實現和字符串相連,將其轉換成字符串的數據
 
2、select ‘用戶’+phonenumber+’通話時長’+cast(ceiling(datediff(ss,starttime,endtime)\60) as varchar(20))+’分鐘’ from 「history-call」 where phonenumber=’13391819904’
做用:查詢手機號嗎是13391819904的用戶通話時長,不足一分鐘的按一分鐘計算;其中用到DATEDIFF函數來計算出用戶的通話時長,用CEILING函數來實現不足一分鐘按一分鐘計算的要求
 
3、select      diff(dd,cast(,cast(year(dateadd(mm,1,accounttime))as varchar(10))+cast(month(dateadd(mm,1,accounttime)) as varchar(10)) as datetime), cast(‘2009-10-31’ as datetime) as 欠費天數 from acountbill where phonenumber=’13391819904’
做用:查詢手機號碼爲13391819904的用戶拖欠還款的天數
相關文章
相關標籤/搜索