分享 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 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1112
来自专栏Petrichor的专栏

Dataset 列表:机器学习研究

In computer vision, face images have been used extensively to develop face recog...

1501
来自专栏linux驱动个人学习

高通Audio中ASOC的machine驱动

ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的...

9764
来自专栏前端儿

Web 前端颜色值--字体--使用,整理整理

颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义。对光源进行设置的最低值可以是 0(十六进制 00)。最高值是 2...

2282
来自专栏Hongten

spring开发_JDBC操作MySQL数据库_使用xml配置事务管理

http://www.cnblogs.com/hongten/archive/2012/03/09/java_spring_jdbc.html

621
来自专栏Golang语言社区

Knapsack problem algorithms for my real-life carry-on knapsack

I'm a nomad and live out of one carry-on bag. This means that the total weight o...

1142
来自专栏linux驱动个人学习

高通msm8909耳机调试

1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s...

7475
来自专栏增长技术

App Guide相关

##TourGuide https://github.com/worker8/TourGuide

702
来自专栏Hadoop数据仓库

Oracle sqlldr 如何导入一个日期列

1. LOAD DATA INFILE * INTO TABLE test FIELDS TERMINATED BY X'9' TRAILING NULLCO...

1786
来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

5896

扫码关注云+社区