mysql函数和操作符
mysql> select mod(29,9); //取模函数
+-----------+
| mod(29,9) |
+-----------+
| 2 |
+-----------+
1 row in set (0.00 sec) mysql> select mod(29,2);
+-----------+
| mod(29,2) |
+-----------+
| 1 |
+-----------+
1 row in set (0.00 sec) mysql> select 2 between 1 and 10; //between xx and xx
+--------------------+
| 2 between 1 and 10 |
+--------------------+
| 1 |
+--------------------+
1 row in set (0.06 sec) mysql> select 20 between 1 and 10;
+---------------------+
| 20 between 1 and 10 |
+---------------------+
| 0 |
+---------------------+
1 row in set (0.00 sec) mysql> select 20 not between 1 and 10; //not between xx and xx
+-------------------------+
| 20 not between 1 and 10 |
+-------------------------+
| 1 |
+-------------------------+
1 row in set (0.00 sec) mysql> select 20 not between 1 and 50;
+-------------------------+
| 20 not between 1 and 50 |
+-------------------------+
| 0 |
+-------------------------+
1 row in set (0.00 sec) mysql> select greatest(1,2,56,7,5); //greatest函数,在一串数字中取最大值
+----------------------+
| greatest(1,2,56,7,5) |
+----------------------+
| 56 |
+----------------------+
1 row in set (0.08 sec) mysql> select greatest('a','b','c','d','e');//字母取最大值
+-------------------------------+
| greatest('a','b','c','d','e') |
+-------------------------------+
| e |
+-------------------------------+
1 row in set (0.35 sec) ISNULL(expr) //是空值
如expr 为NULL,那么ISNULL() 的返回值为 1,否则返回值为 0
mysql> select isnull(5); //是空值,为真则返回1,否则返回0
+-----------+
| isnull(5) |
+-----------+
| 0 |
+-----------+
1 row in set (0.00 sec) mysql> select isnull(null);;
+--------------+
| isnull(null) |
+--------------+
| 1 |
+--------------+
1 row in set (0.00 sec) LEAST(value1,value2,...)
在有两个或多个参数的情况下, 返回值为最小 (最小值) 参数
mysql> select least(2,0,1,-9,5,4);
+---------------------+
| least(2,0,1,-9,5,4) |
+---------------------+
| -9 |
+---------------------+
1 row in set (0.02 sec) mysql> select least('a','b','c','d','e');
+----------------------------+
| least('a','b','c','d','e') |
+----------------------------+
| a |
+----------------------------+
1 row in set (0.00 sec) mysql> select (case 1 when 1 then 'one' //case语法
-> when 2 then 'two'
-> else 'more'
-> end) as cid;
+-----+
| cid |
+-----+
| one |
+-----+
1 row in set (0.00 sec)
//案例解析
select 'AAA', //标记1
(case cid when '' then 'xxxx' when '' then 'xxxx' when '' then 'xxxx' else cid end ) as 渠道名称, //标记2
intdate as 注册日期,
from 表名 where intdate>= '' and intdate<= ''
//解析
1)标记2为一个语句
2)as将语句重命名为渠道名称
3)case语法结构:(case cid when '' then 'xxxx' when '' then 'xxxx' else cid end ) ,从cid中匹配到编号1的时候,返回的结果将1赋值为xxxx
4)else cid,当cid不为1,2时,将直接返回cid本身 //if函数
//IF(expr1,expr2,expr3)
如果 expr1 是TRUE,则 IF()的返回值为expr2; 否则返回值则为 expr3。
IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定
mysql> select if(1>5,'yes','no'); //和excel中的if函数用法一致
+--------------------+
| if(1>5,'yes','no') |
+--------------------+
| no |
+--------------------+
1 row in set (0.00 sec) mysql> select if(1<5,'yes','no');
+--------------------+
| if(1<5,'yes','no') |
+--------------------+
| yes |
+--------------------+
1 row in set (0.00 sec) //CONCAT(str1,str2,...)
mysql> select concat('my','sql'); //mysql
+--------------------+
| concat('my','sql') |
+--------------------+
| mysql |
+--------------------+
1 row in set (0.38 sec) mysql> select concat('my','null','sql'); //mynullsql
+---------------------------+
| concat('my','null','sql') |
+---------------------------+
| mynullsql |
+---------------------------+
1 row in set (0.00 sec) mysql> select concat('my',null,'sql'); //NULL
+-------------------------+
| concat('my',null,'sql') |
+-------------------------+
| NULL |
+-------------------------+
1 row in set (0.00 sec) mysql> select concat(14.3); //14.3
+--------------+
| concat(14.3) |
+--------------+
| 14.3 |
+--------------+
1 row in set (0.00 sec) mysql> select concat(14.3,25); //14.325
+-----------------+
| concat(14.3,25) |
+-----------------+
| 14.325 |
+-----------------+
1 row in set (0.00 sec) //INSTR(str,substr)
返回字符串 str 中子字符串的第一个出现位置。这和LOCATE()的双参数形式相同,除非参数的顺序被颠倒
mysql> select instr('foobarbar','bar');
+--------------------------+
| instr('foobarbar','bar') |
+--------------------------+
| 4 |
+--------------------------+
1 row in set (0.35 sec) mysql> select lower('MySQL'); //lower和lcase转化为小写
+----------------+
| lower('MySQL') |
+----------------+
| mysql |
+----------------+
1 row in set (0.00 sec) mysql> select lcase('MySQL');
+----------------+
| lcase('MySQL') |
+----------------+
| mysql |
+----------------+
1 row in set (0.00 sec) mysql> select left('foobar',4); //从左向右取数据,取4个数据
+------------------+
| left('foobar',4) |
+------------------+
| foob |
+------------------+
1 row in set (0.00 sec) mysql> select right('foobar',4); //从右向左取数据,取4个数据
+-------------------+
| right('foobar',4) |
+-------------------+
| obar |
+-------------------+
1 row in set (0.36 sec) mysql> select length('mysql'); //length求字符串的长度
+-----------------+
| length('mysql') |
+-----------------+
| 5 |
+-----------------+
1 row in set (0.00 sec) //返回字符串 str ,其引导空格字符被删除
mysql> select ltrim(' bar') as str; //ltrim删除左边的空格引导字符
+------+
| str |
+------+
| bar |
+------+
1 row in set (0.00 sec) mysql> select rtrim(' bar ') as str; //rtrim删除右边的空格引导字符
+-------+
| str |
+-------+
| bar |
+-------+
1 row in set (0.05 sec) mysql> select trim(' bar ') as str; //trim删除2边的空格引导符
+------+
| str |
+------+
| bar |
+------+
1 row in set (0.00 sec) //SUBSTRING
substring(str, pos); substring(str, pos, len)
从字符串的第pos个字符位置开始取,取len个数据,直到结束。
mysql> select substring('example',4,2);
+--------------------------+
| substring('example',4,2) |
+--------------------------+
| mp |
+--------------------------+
1 row in set (0.00 sec)
mysql函数和操作符的更多相关文章
- MySQL 8.x 函数和操作符,官方网址:https://dev.mysql.com/doc/refman/8.0/en/functions.html
MySql 8.x 函数和操作符,官方网址:https://dev.mysql.com/doc/refman/8.0/en/functions.html
- Mysql 函数大全- 5.6 中文解释函数参考
mysql 函数大全 5.6 函数参考 5.6函数参考 (只翻译部分,细节查看相关英文版) 12.1功能和操作员参考 12.2表达式评估中的类型转换 12.3运营商 12.4控制流功能 12.5 ...
- mysql 函数示例(转)
MySQL函数大全及用法示例 1.字符串函数ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) mysql> select ascii('2'); ...
- MYSQL函数 Cast和convert的用法详解
MYSQL Cast函数是非常重要的MYSQL函数,下面就将为您详细介绍MYSQL Cast函数的语法及其使用,希望能让您对MYSQL Cast函数有更多的认识. BINARY BINARY操 ...
- Mysql - 函数
Mysql提供的函数是在是太多了, 很多我都见过, 别说用了. 园子里面, 有人弄了一个比较全的. MYSQL函数 我这里会将他写的完全拷贝下来, 中间会插入一些自己项目中使用过的心得 一.数学函数 ...
- mysql连接查询,封装mysql函数
连接查询 交叉连接语法: select * | 字段列表 from 表1 cross join 表2 内连接: select *|字段列表 from 左表 inner join 右表 on 左表. ...
- MySQL 函数大全
mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NU ...
- MySQL函数不能创建的解决方法
MySQL函数不能创建,是一个很麻烦的问题,下面就为您提供了一个解决此问题的方法,如果您也遇到过类似的问题,不妨一看. http://database.51cto.com/art/201010/229 ...
- Mysql函数:Last_insert_id()语法讲解
Mysql函数可以实现许多我们需要的功能,下面介绍的Mysql函数Last_insert_id()就是其中之一,希望对您学习Mysql函数能有所帮助. 自动返回最后一个INSERT或 UPDATE 查 ...
随机推荐
- 关于jsp页面到页面传值
很久没用这种传值了,一般都是一个.do请求到后台在跳转到前端:像有些只是展示数据功能,这样做就显得没有必要,闲话不说了,记录下来供下次参考. 用的是html的a标签,我这里只用这2种用法. 场景如下图 ...
- Python中List的append引用赋值问题处理
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deep ...
- 虚树------sdoi2011<消耗战>
卡着时间过得,大概是因为全用了ll,时间涨了一倍吧?? 懒得改了,第一道虚树还是思路比较重要 下面这段文字是复制来的: 给出一棵树. 每次询问选择一些点,求一些东西.这些东西的特点是,许多未选择的点可 ...
- MySQL_join连接
join连接 table1: table2: 笛卡尔积: 就是一个表里的记录要分别和另外一个表的记录匹配为一条记录,即如果表A有2条记录,表B也有2条记录,经过笛卡尔运算之后就应该有2*2即4条记录. ...
- BZOJ1177 [Apio2009]Oil 二维前缀和 二维前缀最值
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1177 题意概括 在一个n*m的矩阵中,每一个位置一个数字. 现在让你选出3个k*k的矩阵,它们互不 ...
- hdu 1394 (线段树求逆序数)
<题目链接> 题意描述: 给你一个有0--n-1数字组成的序列,然后进行这样的操作,每次将最前面一个元素放到最后面去会得到一个序列,那么这样就形成了n个序列,那么每个序列都有一个逆序数,找 ...
- Linux学习之ACL权限详解(十)
Linux系统ACL权限详解 目录 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权限 默认ACL权限和递归ACL权限 ACL权限简介与开启权限 ACL权限简介 用户权限管理始终 ...
- 【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-7 混合概率密度
Preface 注:鉴于很多网站随意爬取数据,可能导致内容残缺以及引用失效等问题,影响阅读,请认准原创网址: https://www.cnblogs.com/lv-anchoret/category ...
- 启动Azure模拟器出错解决方案
错误弹窗: 输出控制台: Microsoft Azure Tools: Warning: Overriding public port 80 to 2888 in role 'WebRole1'. M ...
- javascript高级部分
回顾 回顾: 整体: - HTML - CSS - JavaScript - 基本数据类型 - for,while.. - DOM - obj = document.getElementById('. ...