6. 函數(shù)
1、 聚合函數(shù)
最大值 MAX(字段)
最小值 MIN(字段)
平均值 AVG (字段)
求和 SUM (字段)
數(shù)量 COUNT(*)
2、 數(shù)字函數(shù)
執(zhí)行備注中的代碼
ABS() :求絕對值。
CEILING():舍入到最大整數(shù) 。3.33將被舍入為4、2.89將被舍入為3、-3.61將被舍入為-3。 Ceiling→天花板
FLOOR():舍入到最小整數(shù)。3.33將被舍入為3、2.89將被舍入為2、-3.61將被舍入為-4。 Floor→地板。
ROUND():四舍五入。舍入到“離我半徑最近的數(shù)” 。Round→“半徑”。例:Round(3.1425,2)。
解釋:3.1425是在四舍五入的值,2是精確的位數(shù)
3、 字符串函數(shù)
LEN() :計算字符串長度 求字符
DATALENGTH(): 計算字節(jié)長度 求字節(jié) 一個漢字兩個字節(jié)
例:
select len('123是數(shù)字') --字符
select datalength('123是數(shù)字') --字節(jié)
注意:text類型保存的是字節(jié)數(shù)據(jù),所以不能用len()
LOWER(): 轉(zhuǎn)小寫
UPPER () :轉(zhuǎn)大寫
LTRIM(): 字符串左側(cè)的空格去掉
RTRIM () :字符串右側(cè)的空格去掉
例:LTRIM(RTRIM(' bb '))
SUBSTRING(string,start_position,length)
參數(shù):string為主字符串,
start_position為子字符串在主字符串中的起始位置,從1開始
length為子字符串的最大長度。
例:SELECT SUBSTRING('abcdef111',2,3)
4、 日期函數(shù)
GETDATE() :取得當前日期時間
DATEADD (datepart , number, date ),計算當前的時間前或后
參數(shù):datepart 計量單位 值:year、month、day
number 增量 正數(shù)是后,負數(shù)是前
date 日期
例:--獲得當前日期前年的時間
select dateadd(month,1,getdate())
DATEDIFF ( datepart , startdate , enddate ) :計算兩個日期之間的差額。 參數(shù):datepart 計量單位
startdate 起始日期
enddate 結(jié)束日期
例:統(tǒng)計不同工齡的員工的個數(shù):
select DateDiff(year,FInDate,getdate()),count(*) from T_Employee group by DateDiff(year,FInDate,getdate())
DATEPART (datepart,date):返回一個日期的特定部分
參數(shù):datepart 計量單位
date 日期
統(tǒng)計員工的入職年份個數(shù):
select DatePart(year,FInDate),count(*) from T_Employee
group by DatePart(year,FInDate)
5、 類型轉(zhuǎn)換函數(shù)
CAST ( expression AS data_type)
參數(shù):expression 要轉(zhuǎn)換的值
data_type 要轉(zhuǎn)換的類型
例:select cast(right('abc2011-02-24',10) as datetime)
CONVERT ( data_type, expression)
參數(shù):expression 要轉(zhuǎn)換的值
data_type 要轉(zhuǎn)換的類型
例:select convert(datetime,right('2012-11-24',10))
6、空值處理函數(shù)
ISNULL(expression,value) :
參數(shù):如果expression值為null,剛返回value的值
7、 CASE函數(shù)
單值判斷,相當于switch case
例:select fsalary, case
when fsalary < 4500 then '初級'
when fsalary < 8000 then '中級'
when fsalary > 8000 then '高級'
end as '等級'
from t_employee
注:then 后面除了給常量之外,還可以給列