文档章节

MySQL常用函数与运算符

snowing1990
 snowing1990
发布于 2016/07/06 16:40
字数 1132
阅读 19
收藏 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
MySQL查询逻辑处理语句

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

boonya
2016/10/09
67
0
PHP三小时入门笔记(2014-9-3)

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

GZhiDao
2015/11/26
42
0
SQL从入门到不放弃(ing)

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

Kedi
2016/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
17
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部