---------------------- <a href="http://edu.csdn.net/heima/" target="blank">Windows Phone 7手机开发</a>、<a href="http://edu.csdn.net/heima/" target="blank">.Net培训</a>、期待与您交流! ----------------------
数据库函数:
1)数字函数:
ABS():求绝对值。
CEILING():舍入到最大整数。3.33被舍入为4、2.89舍入为3
FLOOR():舍入到最小整数。3.33被舍入为3, 2.89舍入为2
ROUND():四舍五入
2)字符串函数
LEN():计算字符串长度
LOWER()、UPPER():转小写、转大写
LTRIM():字符串左侧的空格去掉
RTRIM():字符串右侧的的空格去掉
LTRIM(RTRIM()):去掉左右两边的空格
substring(string, start-position,length )
参数string为主字符串,start-position为子字符串在主主字符串中的起始位置,length为子字符串的最大长度
select substring ('abcdef111',2,3)执行结果为bcd
GETDATE():取得当前日期时间
dateadd(datepart,number,date),计算增加以后的日期。参数date为带计算的日期;
参数date为增量;datepart为计量单位,可选值见备注
DATEADD(DAY,3,date)为计算日期date的3天后的日期
DATEADD(MONTH,-8,DATE)为计算日期date的8个月之前的日期
datediff(datepart,startdate,enddate):计算两个日期之间的差额。
datepart(datepart,date):返回一个日期的特定部分
select datepart(year,getdate())取出今年的日期
3)类型转换函数:
CAST(expression AS data-type)
data-type数据类型 ,expression表达式
CONVERT(data-type,express)
select cast('123' as int), cast('2008-08-08' as datetime)
select convert (datetime,'2008-08-08'), convert(varchar(50),123)
4)空值处理函数
ISNULL(express,value)
如果expression不为空则返回expression,否则返回value。
SELECT ISNULL(FName,'佚名')as 姓名 FROM T_Employee
5)CASE函数用法(单值判断,于switch case相似)
语法:CASE expression
WHEN value1 THEN return value
WHEN value2 THEN return value
WHEN value3 THEN return value
ELSE default return value
END
例子:
SELECT FName
(CASE FLevel
WHEN 1 THEN 'VIP用户'
WHEN 2 THEN '高级用户'
WHEN 3 THEN '普通用户'
ELSE'客户类型错误'
END) as FLevelName 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
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
索引index:
全表扫描:读数据进行检索(select)效率最差的是全表扫描,就是一条条的找。
创建索引的方式:在表设计器中点击右键,选择"索引/键"→添加→在列中选择索引包含的列。
使用索引能提高查询效率,但是索引也是占据空间的,而且添加、更新、删除数据的时候也需要同步更新索引,因此会降低insert 、update 、delete的速度。只在经常检索的字段上创建索引。
---------------------- <a href="http://edu.csdn.net/heima/" target="blank">Windows Phone 7手机开发</a>、<a href="http://edu.csdn.net/heima/" target="blank">.Net培训</a>、期待与您交流! ----------------------