黑马程序员之SQL server基础学习笔记(四)

 

  SQL自带有很多的函数,在这里,我向大家介绍一些常用的

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(3.33,2),第二个参数表示保留几个有效小数
--
round是半径的意思

len() --计算字符串长度

lower() --转小写

upper() --转大写

ltrim() --去掉字符串左侧的空格
rtrim() --去掉字符串右侧的空格
--
注意,SQL里没有trim(),如果要去掉字符串两端的空格,则要用上面两个嵌套使用
--
如ltrim(rtrim(‘ b ’))

--substring(字符串,字符串开始的位置,要截取的长度),位置是从1开始,不是0
substring(‘sfsdf’,2,3)

getdate() --获取当前时间

--dateadd(计量单位,增量,时间)计算增加以后的日期
--
计量单位可以是year、quarter、month、week、weekday、day、hour、minute、second、millisecond
dateadd(month,8,getdate()) --在当前时间上加上8个月

--datediff(计量单位,开始时间,结束时间)计算两个时间的差额,是后面的减前面的
datediff(year,'2008-8-8','2012-12-12')

--datepart(计量单位,时间)计算一个日期的特定部分
datepart(year,'2008-8-8')

--cast(数据 as 数据类型)数据转换
cast(‘123as int)

--convert(数据类型,数据)
convert(datetime,’2008-8-8’)

--isnull(字段,字符串) 判断是否为空如果为空,则改为字符串
isnull(name,’佚名')

  

  还有一个面试时经常考的

--离散判断
Select name,
(
Case level
When 1 then ‘普通讲师’
When 2 then ‘高级讲师
When 3 then ‘特级讲师
Else ‘未知类型’
End
) as 教师资格
From teacher

--连续判断
Select name
(
Case
When tmoney<5000 then ‘低收入’
When tmoney>=5000 and tmoney<10000 then ‘中等收入’
Else ‘高收入’
End
) as 收入水平
From teacher

  看了上面的代码,大家知道应该怎么操作了吧?

 

posted @ 2011-12-02 13:50  caohenghu  阅读(182)  评论(0)    收藏  举报