----------------------Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
数据库中相关函数的总结:
1、数字函数:
ABS():求绝对值;
ceiling();舍入到最大整数。如,3.33--->4
floor();舍入到最小整数。如,3.33--->3
round();四舍五入
2、字符串函数:
Len();计算字符串长度
lower();upper();转小写、转大写
ltrim();字符串左侧的空格去掉
rtrim();字符串右侧的空格去掉
substring(string,start_position,length):string参数为主字符串,start_position为子字符串在主字符串中的起始位置,length为子字符串的最大长度
3、日期函数
getdate():取得当前日期时间
dateadd(datepart,number,date):计增加以后的日期
datediff(datepart,startdate,enddate):计算两个日期之间的差额
例1:计算员工入职时间
select FName,FInDate,DateDiff(year,FInDate,getdate()) from T_employee
例2:统计不同工龄的员工人数
select datediff(year,FInDate,getdate()),count(*) from T_employee
group by datediff(year,FInDate,getdate())
4、类型转换函数
cast(expression as data_type)
convert(data_type,expression)
5、空值处理函数
isnull(expression,value):如果expression不为空则返回express,否则返回value
例如:select isnull (FName,'佚名')as 姓名 From T_employee
6、case函数用法
单值判断:相当于switch case
例如:select FName,(case FLevel when 1 Then 'vip客户'
when 2 Then ‘高级客户'
when 3 Then ‘普通客户'
else ‘客户类型错误'
end) as FLevel Name From T_Customer
练习:有一张表T_Scores,记录比赛成绩
Date Name Score
2008-8-8 拜仁 胜
2008-8-9 奇才 胜
2008-8-9 湖人 胜
2008-8-10 拜仁 负
2008-8-8 拜仁 负
2008-8-12 奇才 胜
要求输出下面的格式:
Name 胜 负
拜仁 1 2
湖人 1 0
奇才 2 0
注意:在中文字符串前加N,比如N‘胜’
select Name,
sum(case score
when N‘胜' then 1
else 0
end)as 胜,
sum(case score
when N‘负' then 1
else 0
end)as 负
from T_Scores
group by Name
----------------------Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/