四舍五入
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
sql语句函数
原创
©著作权归作者所有:来自51CTO博客作者蓬莱仙羽的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SQL语句和函数
Learning Oracle
sql 数据类型 数据 -
028、SQL语句之函数
lpad(str,len,padstr),rpad(str,len,padstr): 返回一个在左侧或右侧填充有padstr的字符串,长度不超过
sql 数据库 tidb 分布式数据库 字符串 -
hive sql if函数 sql if else语句
IF ELSE 语句 IF ELSE 是最基本的编程语句结构之一几乎每一种编程语言都支持这种结构而 它在用于对从数据库返回的数据进行检查是非常有用的TRANSACT-SQL 使用IF ELSE 的例子如下
hive sql if函数 sql if else 语句 编程语言 编程习惯 SQL