文档章节

MySQL常用函数与运算符

snowing1990
 snowing1990
发布于 2016/07/06 16:40
字数 1132
阅读 86
收藏 6

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

运算符

算术运算符

MySQL 支持的算术运算符包括加、减、乘、除和模运算。 
在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。

比较运算符

当使用SELECT语句进行查询时, MySQL允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,则返回1,为假则返回 0,比较结果不确定则返回NULL。

符号 描述 备注
= 等于  
<>, != 不等于  
> 大于  
< 小于  
<= 小于  
>= 大于等于  
BETWEEN 在两值之间 >=min&&<=max
NOT BETWEEN 不在两值之间  
IN 在集合中  
NOT IN 不在集合中  
<=> 严格比较两个NULL值是否相等 两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
LIKE 简单模式匹配  
REGEXP 正则式匹配  
IS NULL 为空  
IS NOT NULL 不为空  
  • 若有一个或两个参数为 NULL,除非NULL <=> NULL 等运算符,则比较运算的结果为NULL。
  • 若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
  • 若两个参数均为整数,则按照整数进行比较。

逻辑运算符

运算符 作用
AND&& 逻辑与
OR || 逻辑或
NOT ! 逻辑非
XOR 异或

位运算符

运算符 作用
& 位与
| 位或
~ 位取反
^ 位异或
>
右移
<< 左移

常用函数

字符串函数

函数 说明 备注
ASCII(char) 返回字符的ASCII码值  
BIT_LENGTH(str) 返回字符串的比特长度  
LENGTH(s) 返回字符串str中的字符数  
CONCAT(s1,s2…,sn) 将s1,s2…,sn连接成字符串 任何字符串与NULL进行连接的结果都将是NULL
CONCAT_WS(sep,s1,s2…,sn) 将s1,s2…,sn连接成字符串,并用sep字符间隔  
LOWER(str) UPPER(str) 返回将字符串str中所有字符改变为小/大写后的结果  
LEFT(str,x)  RIGHT(str,x) 返回字符串str中最左/右边的x个字符 如果第二个参数是NULL,那么将不返回任何字符串。
LTRIM(str) 从字符串str中切掉开头的空格  
REPEAT(str,srchstr,rplcstr) 返回字符串str重复x次的结果  
REVERSE(str) 返回颠倒字符串str的结果  
RTRIM(str) 返回字符串str尾部的空格  
STRCMP(s1,s2) 比较字符串s1和s2  
TRIM(str) 去除字符串首部和尾部的所有空格  

数值函数

函数 说明
ABS(x) 返回x的绝对值
BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)
CEILING(x) 返回大于x的最小整数值
FLOOR(x) 返回小于x的最大整数值
MOD(x,y) 返回x/y的模(余数)
PI() 返回pi的值(圆周率)
RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。
ROUND(x,y) 返回参数x的四舍五入的有y位小数的值

日期时间函数

函数 说明
CURRENT_DATE() 返回当前的日期
CURRENT_TIME() 返回当前的时间
DATE_ADD(date,INTERVAL int keyword) 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECT DATE_ADD(CURRENT_DATE,INTERVAL 6 MONTH);
DATE_FORMAT(date,fmt) 依照指定的fmt格式格式化日期date值
DATE_SUB(date,INTERVAL int keyword) 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECT DATE_SUB(CURRENT_DATE,INTERVAL 6 MONTH);
DAYOFWEEK(date) 返回date所代表的一星期中的第几天(1~7)
DAYOFMONTH(date) 返回date是一个月的第几天(1~31)
DAYOFYEAR(date) 返回date是一年的第几天(1~366)
FROM_UNIXTIME(ts,fmt) 根据指定的fmt格式,格式化UNIX时间戳ts
UNIX_TIMESTAMP(date) 返回日期date的UNIX时间戳
HOUR(time) 返回time的小时值(0~23)
MINUTE(time) 返回time的分钟值(0~59)
MONTH(date) 返回date的月份值(1~12)
NOW() 返回当前的日期和时间
WEEK(date) 返回日期date为一年中第几周(0~53)
YEAR(date) 返回日期date的年份(1000~9999)

流程函数

  • CASE WHEN[test1] THEN [result1]…ELSE [default] END 如果testN是真,则返回resultN,否则返回default
  • CASE [test] WHEN[val1] THEN [result]…ELSE [default] END 如果test和valN相等,则返回resultN,否则返回default
  • IF(test,t,f) 如果test是真,返回t;否则返回 f
  • IFNULL(arg1,arg2) 如果arg1不是空,返回arg1,否则返回arg2

本文转载自:http://www.phpchina.com/portal.php?mod=view&aid=39942

snowing1990
粉丝 4
博文 90
码字总数 2952
作品 0
程序员
私信 提问
加载中

评论(0)

《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·007【简单查询】

文章目录 一、select语句 1、作用 2、语法 3、空值处理 4、反引号、单引号、双引号 5、列和表的别名 6、distinct去重 7、查询表结构 8、条件查询 一、select语句 1、作用 select语句具备以下...

God-Excious
04/13
0
0
MySQL查询数据表中数据记录(包括多表查询)

MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据。 使用select查询语句可以从数据库中把数据查询出来。 select语句的语法格式如下: select sel...

余二五
2017/11/23
0
0
数据库入门(MySQL):mySQL运算符与mySQL常用函数

MySQL运算符 MySQL常用函数 一、MySQL运算符 1.1MySQL支持的数值计算运算符:加减乘除取余(+ - * / %); SELECT 6+4 加法操作, 示例: 1.2MySQL支持的比较运算符:大于、小于、等于、不等...

osc_7mgl4ouc
01/14
2
0
【千纸诗书】—— PHP/MySQL二手书网站后台开发之基础知识

前言: 在具体回顾每一个功能的实现前,还是有必要先温习一些项目涉及到的PHP、MySQL【语法基础】。项目github地址:https://github.com/66Web/phpbook_store,欢迎Star。 一、PHP基础语法 ...

osc_3dayg3dw
2019/04/20
2
0
mysql经典书籍:MYSQL5.5从零开始学PDF下载高清完整扫描原版

结构清晰、完整,内容实用。没有过多的理论介绍,每个知识点都配有相关的例子,可操作性强,非常适合初学者循序渐进的学习。需要学习的朋友可以通过网盘免费下载pdf版 (先点击普通下载-----...

osc_vnpeszfw
2018/11/05
1
0

没有更多内容

加载失败,请刷新页面

加载更多

2020中台建设-技术中台的搭建和运营

2020中台建设-技术中台的搭建和运营

Original123
33分钟前
22
0
CTO:不要在 Java 代码中写 set/get 方法了,逮一次罚款

前言 what?你的 Java 代码中还充斥着大量的 set/get 方法? 我们在刚开始学习 Java 语言的时候讲过,面向对象的三大特征就是封装,继承,和多态。在 Java 中,要保证封装性,需要将成员变量...

码农突围
43分钟前
21
0
为什么不推荐去做安全测试工程师?

对,你没看错。我不推荐大家去做安全测试工程师。 为什么不推荐大家去做安全测试? 今天,很多软件并没有经过专门的安全测试便运行在互联网上,它们携带着各类安全漏洞直接暴露在公众面前,其...

爱码小哥
今天
32
0
Go Gin 简明教程

https://geektutu.com/post/quick-go-gin.html

Java搬砖工程师
今天
19
0
如何更改远程Git存储库的URI(URL)? - How to change the URI (URL) for a remote Git repository?

问题: I have a repo (origin) on a USB key that I cloned on my hard drive (local). 我在硬盘驱动器(本地)上克隆的USB密钥上有一个回购(来源)。 I moved "origin" to a NAS and succ......

技术盛宴
今天
26
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部