mysql运算符与函数

MySQL 支持的算术运算符

运算符

运算符 作用
+ 加法
- 减法
* 乘法
/除法,返回商     被除数为0返回null
%MOD 除法,返回余数         被除数为0返回null
select 3%5;
等效于:
select mod(3,5);

比较符

运算符 作用
= 等于
<>!= 不等于
<=> 与=效果相同,区别是null=null返回null null《=》null返回1
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 存在与指定范围
IN 存在于指定集合
IS NULL NULL
IS NOT NULL 不为 NULL
LIKE 通配符匹配
REGEXP RLIKE 正则表达式匹配

正确返回1,错误返回0;

逻辑运算符

4-3 MySQL 中的逻辑运算符
运算符 作用
NOT 或! 逻辑非
AND && 逻辑与
OR ||

逻辑或


XOR 逻辑异或  即false xor true  返回1
非0为true,0为false;

除了逻辑或  其他的只要有null都返回null, 1||null 返回1,null||null返回null,

位运算符

转换为二进制在进行运算,前个需要个参数,后面只需要个参数

运算符 作用
& 位与(位 AND
| 位或 (位 OR
^ 位异或(位 XOR
~ 位取反
>> 位右移   高位自动补0
<< 位左移    地位补0

常用函数

字符串函数

函数 功能
CANCAT(S1,S2,…Sn) 连接 S1,S2,…Sn 为一个字符串
INSERT(str,x,y,instr)

将字符串 str 从第 x 位置开始,y 个字符长的子串替换为字符串 instr

INSERT(abc,1,2,4)= 4c 

LOWER(str) 将字符串 str 中所有字符变为小写
UPPER(str) 将字符串 str 中所有字符变为大写
LEFT(str ,x)

返回字符串 str 最左边的 x 个字符

left(abc,2)=ab

RIGHT(str,x)

返回字符串 str 最右边的 x 个字符

right(abc,2)=bc;

LPAD(str,n ,pad)

用字符串 pad str 最左边进行填充,直到长度为 n 个字符长

从左边开始填充 pad  直到长度达到  n

lpad(ac,123,10)=12312312ac

RPAD(str,n,pad)

用字符串 pad str 最右边进行填充,直到长度为 n 个字符长

与lpad相似,只是是从右边开始

rpad(ac,123,10)=ac12312312

LTRIM(str) 去掉字符串 str 左侧的空格
RTRIM(str) 去掉字符串 str 行尾的空格
REPEAT(str,x)

返回 str 重复 x 次的结

repeat(ab,3)=ababab

REPLACE(str,a,b)

用字符串 b 替换字符串 str 中所有出现的字符串 a

replace(abcabcac,abc,3)=3ac

STRCMP(s1,s2) 比较字符串 s1 s2的ASCII  码,s1>s2 返回1
TRIM(str) 去掉字符串行尾和行头的空格
SUBSTRING(str,x,y)

返回从字符串 str x 位置起 y 个字符长度的字串

substring(abc,2,1)=b

数值函数

函数 功能
ABS(x) 返回 x 的绝对值
CEIL(x) 返回大于 x 的最大整数值   进1取整
FLOOR(x) 返回小于 x 的最大整数值  去掉小数位取整
MOD(xy) 返回 x/y 的模
RAND() 返回 0 1 内的随机值
ROUND(x,y)

返回参数 x 的四舍五入的有 y 位小数的

y默认为0,round(1.246,2)=1.25

TRUNCATE(x,y)

返回数字 x 截断为 y 位小数的结

果直接返回不四舍五入

truncate(1.265,1)=1.2

时间函数

函数 功能
CURDATE() 返回当前日期 只有年月日
CURTIME() 返回当前时间 只有时分秒
NOW() 返回当前的日期和时间 
UNIX_TIMESTAMP(date) 返回日期 date UNIX 时间戳
FROM_UNIXTIME 返回 UNIX 时间戳的日期值 
WEEK(date) 返回日期 date 为一年中的第几周
YEAR(date) 返回日期 date 的年份
HOUR(time) 返回 time 的小时值
MINUTE(time) 返回 time 的分钟值
MONTHNAME(date) 返回 date 的月份名 英文的
DATE_FORMAT(date,fmt) 返回按字符串 fmt 格式化日期 date
DATE_ADD(date,INTERVAL expr type) 返回一个日期或时间值加上一个时间间隔的时间值
DATEDIFF(expr,expr2) 返回起始时间 expr 和结束时间 expr2 之间的天数

流程函数

MySQL 中的流程函数
函数 功能

IF(value,t f)

如果 value 是真,返回 t;否则返回 f

if(1,'a','b')=a;

IFNULL(value1,value2)

如果 value1 不为空返回 value1,否则返回 value2

ifnull(col1,0) col1列的值不为null就返回他的值不然返回0

CASE WHEN [value1]
THEN[result1]…ELSE[default]END

如果 value1 是真,返回 result1,否则返回 default

select case when salary<=2000 then 'low' else 'high' end from salary;

select case when 10<20 then 'low' else 'high' end;


CASE [expr] WHEN [value1]
THEN[result1]…ELSE[default]END

如果 expr 等于 value1,返回 result1,否则返回 defaul

//TODOt







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值