mysql常用函数

1.字符串的函数

concat(s1,s2,…,sn)函数 : 把传入的参数连接成一个字符串;任何字符串与null进行连接的结果都将是null.

select concat('aaa','bbb','ccc'),concat('aaa',null);

insert(str,x,y,instr)函数 : 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr.

select insert('beijing2008you',12,3,'me');

lower(str)和upper(str)函数 : 把字符串转换成小写或大写.

select lower('BEIJING2008'),upper('beijing2008');

left(str,x)和right(str,x)函数 : 分别返回字符串最左边的x个字符和最右边的x个字符,如果第二个参数是null,那么将不返回任何字符串.

select left('beijing2008',7),left('bejing',null),right('bejing2008',4);

lpad(str,n,pad)和rpad(str,n,pad)函数 : 用字符串 pad 对 str最左边和最右边进行填充,直到长度为n个字符长度.

select lpad('2008',20,'beijing'),rpad('beijing',20,'2008');

trim((str)函数 : 去掉目标字符串的开头和结尾的空格.

select trim('   $ beijing2008 $   ');

ltrim(str)和rtrim(str)函数 : 去掉字符串str左侧和右侧空格.

select ltrim('  |beijing'),rtrim('beijing|  ');

replace(str,a,b)函数 : 用字符串b替换字符串str中所有出现的字符串a.

select replace('beijing_2010','_2010','2008');

strcmp(s1,s2)函数 : 比较字符串s1 和 s2 的ASCII码值的大小.

select strcmp('a','b'),strcmp('b','b'),strcmp('b','c');

substring(str,x,y)函数 : 返回从字符串str中的第x位置起y个字符长度的字符串.

select substring('beijing2008',8,4),substring('beijing2008',1,7);
2.数值函数

abs(str)函数 : 返回x的绝对值.

select abs(-0.8),abs(0.8);

ceil(str)函数 : 返回大于x的最小的函数.

select ceil(-0.8),ceil(0.8);

floor(str)函数 : 返回小于x的最大整数,和ceil的用法刚好相反.

select floor(-0.8),floor(0.8);

mod(x,y)函数 : 返回x/y的模.模数和被模数任何一个为null,结果都为null.

select mod(15,10),mod(1,11),mod(null,10);

rand()函数 : 返回0~1的随机值.利用此函数可以取任意指定范围内的随机数,比如需要产生0 ~ 100 的任意随机整数.

select rand(),rand();
select ceil(100*rand()),ceil(100*rand());

round(x,y)函数 : 返回参数x的四舍五入的有y位小数的值.msyql8.0版本亲测没补零,郁闷…

select round(1.1),round(1.1,2),round(1,2);
SELECT ROUND(-6.66,1),ROUND(3.33,3),ROUND(88.66,-1),ROUND(88.46,-2);

在这里插入图片描述
在这里插入图片描述
truncate(x,y)函数 : 返回数字x截断为y为小数的结果.

select round(1.235,2),truncate(1.235,2);
3.日期和时间函数
4.流程函数

造数据

create table salary(
	userid int,
    salary decimal(9,2)
);
show tables;
insert into salary values(1,1000),(2,2000),(3,3000),(4,4000),(5,5000),(1,null);
select * from salary;

if(value,t,f)函数 : 这里认为月薪在2000元以上的职员属于高薪,用"high"表示,而2000元以下的职员属于低薪,用"low"表示.

select userid,salary,if(salary>2000,'high','low') as salary_level from salary;

ifnull(value1,value2)函数 : 如果value不为空,返回value1,否则返回value2; 这个函数一般用来替换null值

select userid,salary,ifnull(salary,0) from salary;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值