您的位置:首页 > 职场人生

黑马程序员——SQL 函数

2012-04-16 17:17 337 查看
---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

ABC():求绝对值。

 

CEILING():舍入到最大整数。Ceiling:天花板

 

FLOOR():舍入到最小整数。Floor:地板

 

ROUND():四舍五入。Round(3.1525,2)

 

Len():字符串长度。Len('abcd')

 

LTRIM():去掉左边的空格。

 

RTRIM():去掉右边的空格。

 

LTRIM(RTRIM()):去掉两边的空格

 

SUBSTRING():截取自字符串。select SUBSTRING('abcdef00123',2,3)→bcd

 

GETDATE():取得当前日期时间。select Getdate()

 

DATEDIFF():计算时间差。select DateDiff(hh,getdate(),DateAdd(day,-5,Getdate()))

 

DATEPART():。取出日期特定部分。SELECT DatePart(year,getdate()) as 年

 

2.类型转换:

 

CAST:select cast('2010-10-10' as datetime)

 

CONVERT:select convert(datetime,'2009-09-09')

 

3.空值处理函数:

 

ISNULL(FName,'佚名'):如果为空值,则返回佚名,不为空则返回FName字段

 

例子:

 

SELECT ISNULL(FName,'佚名') as 姓名from T_Employee

 

4.CASE函数用法:

 

单值判断1:

 

CASE expression

 

WHEN value1 THEN returnvalue1

 

WHEN value2 THEN returnvalue2

 

WHEN value3 THEN returnvalue3

 

ELSE defaultreturnvalue

 

END

 

例子:

 

select FName,

 

(

 

case FLevel

 

when a then '普通客户'

 

when b then '会员'

 

when c then 'VIP'

 

else '未知客户类型'

 

end

 

) as 客户类型

 

From T_Customer

 

范围判断2:

 

select FName,

 

(

 

case

 

when FSalary<2000 then '低工资'

 

when FSalary>=2000 and FSalary<=5000 then '中等工资'

 

else '高工资'

 

end

 

) as 工资水平

 

from T_Employee

 

5.索引Index:

 

索引就像词典里的目录,可以提高检索的速度。

 

使用索引能提高查询效率,但是索引也要占据空间,而且添加、更新、删除数据的时候也要同步更新索引,因此会降低Insert、Update、Delete的速度。只在经常检索的字段上(where)创建索引。

 

注意:即使创建了索引,任有可能全盘扫描,如Like、函数、类型转换等。

 

 

6.Row_Number():加行号,取出某些行号,可用于分页

 

select * from

 

(

 

select Row_Number() over(order by FSalary DESC) as rownum,

 

FNumber,FName,FSalary,FAge From T_Employee

 

) as e1

 

where e1.rownum>=3 and e1.rownum<=5

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息