MySQL常用内置函数

说明:

1)可以用在SELECT/UPDATE/DELETE中,及where,orderby,having中

2)在函数里将字段名作为参数,变量的值就是字段所对应的每一行的值。

3)在程序设计语言如C++中提供的函数,MySQL大部分也提供了,关于MySQL函数的完整信息,请参阅《MySQL参考手册》

一、字符串函数【比较常用,需要掌握】

1、
concat(s1,s2,...,sn) #把传入的参数连接成一个字符串

selectconcat('abc','def');

selectconcat(name,' age is ',age) from users;

2、insert(str,m,n,inser_str)
#将str的从m位置开始的n个字符替换为inser_str

selectinsert('abcdef',2,3,'123456');

selectinsert(name,3,2,'HAHA') from users;

selectinsert(name,2,2,'00') from users;

3、lower(str)/upper(str)
#将字符串str转换成小写/大写

selectlower('HELLO'),upper('hello');

selectlower('HELLO') as 'HELLO',upper('hello')as
'HELLO';

select* from users where upper(name) = 'AAA';

4、left(str,n)/right(str,n)
#分别返回str最左边/最右边的n个字符,如果n<=>
NULL 则任何东西不返回

selectleft('123',3),right('123456',3),left('123',NULL);

5、lpad(str,n,pad)/rpad(str,n,pad)
#用字符串pad对str的最左边/最右边进行填充,知道满足str含有n个字符为止

selectname,lpad(name,10,'#'),rpad(name,10,'@') from users;

6、trim(str)/ltrim(str)/rtrim(str)
#去除字符串str左右空格/左空格/右空格

selectconcat('#',trim(" abc "),'#'),concat('#',ltrim(' abc '),'#'),concat('#',rtrim(' abc '),'#');

7、replace(str,sear_str,sub_str)
#将字符串str中所有出现的sear_str字符串替换为sub_str

select replace('abcdefgabcd','cd','XXX') ;

8、strcmp(str1,str2)
#以ASCII码比较字符串str1,str2,返回-1(str1<
str2)/0(str1= str2)/1(str1 > str2)

selectstrcmp('aa','bb'),strcmp('aa','aa'),strcmp('bb','aa');

9、substring(str,n,m)
#返回字符串str中从n起,m个字符长度的字符串

selectsubstring('abcdef',2,3);

selectname,substring(name,1,2) as subname from users;

二、数值函数

1、abs(x)
#返回x的绝对值

selectabs(10),abs(-10);

selectabs(age) from users;

2、ceil(x)
#返回大于x的最小整数

3、floor(x)
#返回小于x的最大整数

selectceil(2.1),ceil(2.5),ceil(2.9),floor(2.1),floor(2.5),floor(2.9);

4、mod(x,y)
#返回x/y的模,与x%y作用相同

selectmod(null,11);

5、rand()
#返回0~1之间的随机数

selectrand();

selectceil(rand() * 100); #取0~100之间的整数随机数

selectfloor(rand() * 100);

6、round(n,m)
#返回n四舍五入之后含有m位小数的值,m值默认为0

selectround(1.23);

selectround(1.456,2);

7、truncate(n,m)
#返回数字n被截断为m位小数的数值

selecttruncate(1.234,2);

selecttruncate(1.235,2),round(1.235,2);

三、日期函数

1、curdate()
#返回当前日期

2、curtime()
#返回当前时间

selectcurdate(),curtime();

3、now()
#返回当前日期+时间

selectnow();

4、unix_timestamp(now())#返回unix当前时间的时间戳

selectunix_timestamp(now()); #从计算机元年(1971-1-100:00:00)到现在的秒数

5、from_unixtime()
#将时间戳(整数)转换为“日期+时间(xx-xx-xxxx:xx:xx)”的形式

selectfrom_unixtime(1392853616);

6、week(now())
#返回当前时间是第几周

7、year(now())
#返回当前是XX年

8、hour(now())/hour(curtime())
#返回当前时间的小时数

9、minute(curtime())
#返回当期的分钟数

...

selectweek(now()),year(now()),hour(now());

selectweek(from_unixtime(1392853616)); #返回unix时间戳中的周期数

10、monthname(now())/monthname(curdate())
#返回当前月的英文名

11、date_format(now(),"%Y-%M-%D%H:%I%S")
#将当期时间格式化

selectdate_format(now(),"%Y-%m-%d %H:%i%s");

selectdate_format(now(),"%y%m%d %H:%i%s");

四、流程控制函数

1、if(value,true,false)
#如果value值为真,则返回true,否则,返回false

selectif (salary > 3000,'Hight','Low') from salary;

selectid,salary, if (salary <=> NULL,'NULL','NOT NULL') from salary;

2、ifnull(value1,value2)#如果value1不为空,则返回value1,不然返回value2

#可以用来进行空值替换

selectifnull(salary,0.00) from salary;

3、casewhen
[value] then … else …end #如果value值为真,执行then之后的语句,不然执行eles后的语句,不要忘记end!

selectcase when salary <= 3000 then "Low" else "Hight"end from salary;

五、其他函数

1、database()
#当前数据库

2、version()
#当前数据库版本

3、user()
#当前登录用户

selectdatabase();

4、inet_aton(ip)
#ip地址的网络字节顺序

selectinet_aton('192.168.139.1');

5、inet_ntoa
#返回数字所代表的ip

selectinet_ntoa(3232271105);

6、password(str)
#返回加密的str字符串

selectpassword("123456"); #返回一个41位长的加密字符串,只是用于给MySQL系统用户进行加密

7、md5()
#在应用程序中进行数据加密,比如在C++程序中

selectmd5(“123456”);

MySQL学习笔记_7_MySQL常用内置函数的更多相关文章

  1. hive学习笔记之七:内置函数

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. mySQL学习入门教程——4.内置函数

    四.内置函数: 包括了字符串函数.数值函数.日期函数.流程控制函数.其他函数(获取数据库信息)... 一.字符串函数[比较常用,需要掌握]1. concat(s1,s2,...,sn)   #把传入的 ...

  3. Prometheus监控学习笔记之PromQL 内置函数

    概述 Prometheus 提供了其它大量的内置函数,可以对时序数据进行丰富的处理.某些函数有默认的参数,例如:year(v=vector(time()) instant-vector).其中参数 v ...

  4. python学习三十八天常用内置函数分类汇总

    python给我们提供丰富的内置函数,不用去写函数体,直接调用就可以运行,很方便快速给我提供开发所需要的函数. 1,查内存地址 id() 变量的内存地址 id() 2,输入输出 input()  pr ...

  5. python学习笔记六:内置函数

    一.数学相关 1.绝对值:abs(-1) 2.最大最小值:max([1,2,3]).min([1,2,3]) 3.序列长度:len('abc').len([1,2,3]).len((1,2,3)) 4 ...

  6. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  7. MYSQL常用内置函数详解说明

    函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...

  8. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

  9. PYTHON语言之常用内置函数

    一 写在开头本文列举了一些常用的python内置函数.完整详细的python内置函数列表请参见python文档的Built-in Functions章节. 二 python常用内置函数请注意,有关内置 ...

随机推荐

  1. south 命令学习

    south 命令学习 概述 在django某个版本之前,django自身提供一个创建数据库的命令-syncdb,它会根据model来创建相应的表,但是这个命令不好的地方在于,如果想要对model进行更 ...

  2. R语言使用 multicore 包进行并行计算

    R语言是单线程的,如果数据量比较大的情况下最好用并行计算来处理数据,这样会获得运行速度倍数的提升.这里介绍一个基于Unix系统的并行程序包:multicore. 我们用三种不同的方式来进行一个简单的数 ...

  3. AutoMagic-开源自动化平台构建思路

    最近在github上看到AutoMagic自动化平台开源了,一时手痒,就试着搭了一套环境,现在把思路和大家说一说. AutoMagic从其工作分工分两部分: 1:Web端管理平台 管理平台基于Pyth ...

  4. Windows下使用Vim极简入门

    0.下载与安装 在vim官网下载 1.Vim常见的几种模式: 一般模式:主要用于浏览,不能随意删除.修改等.按Esc进入该模式. 插入模式:类似平常我们打开记事本后所在的模式.在命令模式下按i进入. ...

  5. 好IT男不能“淫”-谈IT人员目前普遍存在的“A情绪”

    <如果当道德无法约束你的时候...那么就让对疾病的恐惧来制约你吧> 前言 在写这篇文章前我的心情无比的沉重.几次提笔欲写,几次又未能完成,可是最终让我"奋笔疾书"的原因 ...

  6. Swift完成fizz buzz test

    看到一篇文章上说,很多貌似看过很多本编程书的童鞋连简单的fizz buzz测试都完不成. 不知道fizz buzz test为何物的,建议自行搜之. 测试要求是,编写满足以下条件的代码: Write ...

  7. Retrofit2.0+RxJava+Dragger2实现不一样的Android网络架构搭建

    Tamic :csdn http://blog.csdn.net/sk719887916 众所周知,手机APP的核心就在于调用后台接口,展示相关信息,方便我们在手机上就能和外界交互.所以APP中网络框 ...

  8. UIKit视图动画的微扩展

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 好久没写blog了,还不快快写来- ;] 我们知道在UIKit ...

  9. 5.0、Android Studio调试你的应用

    Android Studio包含了一个调试器,允许你调试运行在Android虚拟机或连接的Android设备的应用.通过Android Studio的调试器,你可以: 1. 选择你调试设备的app 2 ...

  10. Android首选项SharedPreference-android学习之旅(六)

    SharedPrefenence采用的键值对的方式来进行存储,采用内部存储的方式. 实例 public class MainActivity extends Activity { private Sh ...