A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冰山上的来客 初级黑马   /  2013-11-5 10:21  /  996 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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  

2 个回复

倒序浏览
考试sql只考这里的内容吗?
回复 使用道具 举报
还有很多  我只是发了一点
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马