本文共 1610 字,大约阅读时间需要 5 分钟。
四舍五入 select ROUND(1.01,1) 结果1.00 计算字符串的长度 select LEN('Hello王') 结果6 计算字符串字节:中文占两个字节 select LENGTH('Hello王') 结果7 转大小写 LOWER(),UPPER() 截取字符串: RIGHT(‘abc’,2) 结果bc LEFT(‘abcd’,2) 结果ab 字符串左.右侧的空格去掉 LTRIM(),RTRIM() 截取字符串:从1开始 SUBSTRING(string,start_positon,length) select SUBSTRING('abcdef111',2,3) 结果:bcd 获取当时时间: select GETDATE() 计算增加以后的日期: DATEADD(datepart,number,date) datepart为年月日,number为时间差,date为基础时间 select DATEADD(YEAR,3,GETDATE()) 结果:在现在时间上增加三年,如果减三年则为-3 select GETDATE()+3 结果:加三天 求时间差: DATEDIFF(datepart,startdate,enddate) select DATEDIFF(YEAR,GETDATE(),‘2014-08-08’) 获取日期的特定部分: select DATEPART(YEAR,GETDATE()) 例子:选取一个表中汇总统计同年入职的员工个数 SELECT DATEPART(YEAR,FinDate),count(*)from T_Employee group by DatePart(Year,FinDate) cast要转换的值as要转换的类型 select CAST(right(‘fadf232011-08-09’,10)as datetime) 替换null值的函数: isnull(fname,‘未名’) select isnull(fname,'未名')from T_Employee case函数: select fage,case fage when 29 then '高龄' when 27 then'正当壮年' else '乳臭未干' end from t_employee 或者 限制字段范围 select fage,case when fage>=29 then'高龄' when fage<27 then'小孩' else '乳臭未干' end from t_employee 联合查询 select* from book b,Category c where b.b_cid=c.c_id 内连接 inner join select c.c_name,b.* from book b inner join category c on b.b_cid=c.c_id select *from category c right join book b on b.b_cid=c.c_id 左外连接(左链接)以保证左表数据全部显示为核心目标 select *from category c left outer join book b on b.b_cid=c.c_id 右外连接(右链接)以保证右表数据全部显示为核心目标 select *from category c right outer join book b on b.b_cid=c.c_id 全连接,保证左右两个表的数据全部显示出来 select* from category c full join book b on b.b_cid=c.c_id
本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366808,如需转载请自行联系原作者