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