MySqlServer函数

86 阅读1分钟
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)
 
CONVERTselect convert(datetime,'2009-09-09')

3.空值处理函数:

ISNULL(FName,'佚名'):如果为空值,则返回佚名,不为空则返回FName字段
 
例子:
SELECT ISNULL(FName,'佚名') as 姓名from T_Employee

4.CASE函数用法:

单值判断1CASE 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

范围判断2select 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