分享 mysql 强大的函数

一、数学函数

//返回x的绝对值 abs(x) select abs(-1) // 1

//返回x的二进制(oct返回八进制,hex返回十六进制) bin(x) select bin(2) // 10

//返回大于x的最小整数值 ceiling(x) select ceiling(5.689) // 6

//返回值e(自然对数的底)的x次方 exp(x) select exp(56) // 2.091659496012996e24

//返回x的自然对数 ln(x) select log(2.091659496012996e24) // 56

//返回x的以y为底的对数 log(x,y) select log(2,8) // 3 select log(2.091659496012996e24) // 56

//返回小于x的最大整数值 floor(x) select floor(5.698) // 5

//返回集合中最大的值 greatest(x1,x2,...,xn) select greatest(1,3,4,22,7,14); // 22

//返回集合中最小的值 least(x1,x2,...,xn) select least(2,4,0.5,22,7) //0.5 //返回x/y的模(余数) mod(x,y) select mod(6,4) // 2

//返回pi的值(圆周率) pi() select pi(); // 3.141593

//返回0到1内的随机值,可以通过提供一个参数(种子)使rand()随机数生成器生成一个指定的值。 rand() select rand() // 0-1 随机数 select rand(5) // 固定值 0.40613597483014313

//返回参数x的四舍五入的有y位小数的值 round(x,y) select round(4.6257); // 5 select round(4.6257,2); // 5.63

//查找替换 replace(); select replace('absaadqf','a','X'); // XbsXXdqf //返回代表数字x的符号的值 sign(x) select sign(5) // 1 select sign(-5) // -1

//返回一个数的平方根 sqrt(x) select sqrt(9) // 3 select sqrt(16) // 4

//返回数字x截短为y位小数的结果 truncate(x,y) select truncate(0.55161,2) //0.55 select truncate(0.55161,4) //0.5516

二、聚合函数 (常用于group by从句的select查询中)

//返回指定列的平均值 avg(col)

//返回指定列中非null值的个数 count(col)

//返回指定列的最小值 min(col)

//返回指定列的最大值 max(col)

//返回指定列的所有值之和 sum(col)

//返回由属于一组的列值连接组合而成的结果 group_concat(col)

三、字符串函数

//返回字符的ascii码值 ascii(char) select ascii('a') // 97

//返回字符串的比特长度 bit_length(str) select bit_length(2) // 8

//将s1,s2...,sn连接成字符串 concat(s1,s2...,sn) select concat('你','好','吗'); //你好吗

//将s1,s2...,sn连接成字符串,并用sep字符间隔 concat_ws(sep,s1,s2...,sn) select concat_ws('|','你','好','吗'); // 你|好|吗

//将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果 insert(str,x,y,instr) select insert('123456789',1,5,'hehe'); // hehe6789 select insert('123456789',2,5,'hehe'); // 1hehe789

//分析逗号分隔的list列表,如果发现str,返回str在list中的位置 find_in_set(str,list) select find_in_set('na','ni,zai,na,11,22,33'); // 3

//返回将字符串str中所有字符改变为小写后的结果 lcase(str)或lower(str) select lcase('HELLO WORLD'); // hello world

//返回将字符串str中所有字符转变为大写后的结果 ucase(str)或upper(str) select ucase('hello world'); // HELLO WORLD

//返回字符串str中最左边的x个字符 left(str,x) select left(123456789,2); // 12

//返回字符串str中的字符数 length(s) select length(123456789) // 9

//从字符串str中切掉开头的空格 ltrim(str) select ltrim(' nihao'); // nihao

//返回子串substr在字符串str中第一次出现的位置 position(substr in str) select position('nihao' in 'wo nihao no nihao'); // 4

//返回子串substr在字符串str中第一次出现的位置 locate(substr , str) select locate('nihao' , 'wo nihao no nihao'); // 4

//用反斜杠转义str中的单引号 quote(str) select quote("asd'asdasd'das"); // 'asd\'asdasd\'das' //返回字符串str重复x次的结果 repeat(str,srchstr,rplcstr) select repeat('a',3); // aaa

//返回颠倒字符串str的结果 reverse(str) select reverse(123456789) // 987654321

//返回字符串str中最右边的x个字符 right(str,x) select right('123456',4); // 3456

//返回字符串str尾部的空格 rtrim(str) select rtrim('123 '); // 123

//去除字符串首部和尾部的所有空格 trim(str) select rtrim(' 123 ');// 123

//比较字符串s1和s2 strcmp(s1,s2) select strcmp('abc','abc');

//正确返回1 错误返回-1

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

JavaScript字符串“三剑客”

JavaScript字符串方法有很多,其中有三个方法与字符串裁剪有关,他们分别是slice()、substring()和substr(),我把他们统称为“三剑客...

1829
来自专栏java思维导图

MySQL函数及用法示例(收藏大全)

1、字符串函数 ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) mysql> select ascii('2...

713
来自专栏Jack的Android之旅

疯狂java笔记之线性表

从数据的逻辑结构来分,数据元素之间存在的关联关系被称为数据的逻辑结构。归纳起来,应用程序中的数据大致哟如下四种基本的逻辑结构。

852
来自专栏猿人谷

快速排序

今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。 思想 快速排序采用的思想是分治思想。 快速...

17810
来自专栏糊一笑

正则表达式学习笔记

正则表达式 1. 使用正则 创建正则表达式有两种方式,一种是以字面量方式创建,另一种是使用RegExp构造函数来创建。 var expression = / p...

2574
来自专栏GopherCoder

xpath 和 pyquery

1703
来自专栏nnngu

算法03 七大排序之:直接插入排序和希尔排序

上一篇总结了直接选择排序和堆排序,这一篇要总结的是插入排序中的直接插入排序和希尔排序,我们主要从以下几点进行总结。 1、直接插入排序及算法实现 2、希尔排序及算...

3306
来自专栏小小挖掘机

各种排序算法的分析及java&python实现

排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。...

3447
来自专栏我是东东强

常见算法之排序

各类排序算法,不仅是算法基本功,也是面试中永恒的考题,关于每种算法思想、实现(递归与非递归)以及时空复杂度分析是必须牢牢把握的送分题。本文先将排序算法按不同标准...

842
来自专栏ccylovehs

浅析JavaScript正则表达式

  正则表达式是一个描述字符模式的对象。JavaScript的RegExp类表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进行强大的...

342

扫描关注云+社区