文档章节

MySQL常用函数与运算符

snowing1990
 snowing1990
发布于 2016/07/06 16:40
字数 1132
阅读 17
收藏 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
程序员
MySQL查询数据表中数据记录(包括多表查询)

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

余二五
2017/11/23
0
0
MYSQL——常用运算符和函数

MYSQL的常用运算符 1 字符函数 CONCAT() 字符连接 CONCAT_WS() 使用指定的分隔符进行字符连接 FORMAT() 数字格式化 LOWER() 转换成小写字母 UPPER() 转换成大写字母 LEFT() 获取左侧字符 RI...

科技小能手
2017/11/12
0
0
PHP三小时入门笔记(2014-9-3)

PHP三小时入门笔记(2014-9-3) 1、PHP是什么:编程语言 2、PHP 代码是运行在服务端的 3、行该脚本后,客户端就能接收到其结果,但他们无法得知其背后的代码是如何运作的 4、甚至可以将 web ...

GZhiDao
2015/11/26
42
0
MySQL查询逻辑处理语句

mysql中的完整的查询语句: select 字段列表 from 表名 [where条件] [group by 字段] [having] [order by 字段 asc|desc] [limit [开始位置],长度] where:条件查询 group by:分组 having:...

boonya
2016/10/09
67
0
SQL从入门到不放弃(ing)

常用表操作 显示数据库下的表: 显示表列: 修改表名: 删除表: 删除mysql表中所有内容: 修改表列类型 修改表列名字 添加表列 查询结果 插入一行数据 编辑已有数据 将一个数据库下的某表迁...

Kedi
2016/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

002,zabbix-agent的安装 监控Linux主机

2.1.安装zabbix-agent $ rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm$ yum install -y zabbix-agent zabbix-get 2.2.配置zabbix-agent ......

happyeveryday32
36分钟前
2
0
docker learn :swarm

swarm是什么 swarm是一组运行docker服务的集群,之后,还是使用那些命令去操作docker,但是是通过swarm manager来执行的。 swarm中的机器可以是实体的也可以是虚拟的,加入swarm后,他们被当作...

writeademo
36分钟前
1
0
Golang + vscode 开发环境配置

GOPATH 环境变量的配置 https://my.oschina.net/xinxingegeya/blog/718305 安装vscode go 扩展 下载vscode ,安装go的扩展https://github.com/Microsoft/vscode-go 该扩展对 Golang 支持非常......

秋风醉了
38分钟前
0
0
idea jar包

我自己用idea新建一个springboot项目,打包一直有问题,百度了下,又总结了下。 方式一: 找到Project Structure菜单,然后点开,照下图点击 然后出现下图所示 红框1:为你项目的main函数所在...

朝如青丝暮成雪
40分钟前
0
0
Vue scoped CSS 与深度作用选择器 /deep/

使用 scoped 后,父组件的样式将不会渗透到子组件中。 例如(无效): <template> <div id="app"> <el-input class="text-box" v-model="text"></el-input> </div></template><......

不负好时光
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部