常用函数
version() 显示当前数据库版本
database() 返回当前数据库名称
user() 返回当前登录用户名
inet_aton(IP) 返回IP地址的数值形式,为IP地址的数学计算做准备
inet_ntoa(str) 返回数值代表的IP

select inet_aton('192.168.2.1') - inet_aton('192.168.1.1'); #计算两个IP地址之间有多少个IP地址
+-----------------------------------------------------+
| inet_aton('192.168.2.1') - inet_aton('192.168.1.1') |
+-----------------------------------------------------+
| 256 |
+-----------------------------------------------------+

select inet_ntoa('3232236033'); #将IP的数字字符换转换为IP地址
+-------------------------+
| inet_ntoa('3232236033') |
+-------------------------+
| 192.168.2.1 |
+-------------------------+

一、时间日期函数:
curdate() 显示当前日期
now() 显示当前日期和时间
year(curdate()) 取出当前日期中的年份
month(curdate()) 取出当前日期中的月份
day(curdate()) 取出当前日期中的日

UNIX_TIMESTAMP(now()) 返回当前的UNIX时间戳(即纪元时)
FROM_UNIXTIME(unixtime) 返回UNIXTIME时间戳的日期和时间值,与UNIX_TIMESTAMP(date)互为逆操作

DATE_FORMAT(date,fmt) 按字符串fmt格式化日期date值,此函数能够按指定的格式显示日期
这里的fmt按照linux中date指令的格式来指定

DATE_ADD(date, INTERVAL expr type) 返回与所给日期date相差INTERVAL时间段后的日期。
date是指定的日期时间
INTERVAL是间隔类型关键字(固定写法)
expr是一个表达式,这个表达式对应后面的类型
type是间隔类型:
hour、minute、second、year、month、day、year_month、day_hour、day_minute、day_second、
hour_minute、hour_second、minute_second、second_mirosecond
示例:
SELECT DATE_ADD('1900-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR); #负号表示时间向前推,这里表示向前推1天10小时
-> '1899-12-30 14:00:00'
SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY); #31天后的日期
-> '1997-12-02'

DATEDIFF(date1,date2) 用来计算两个日期之间相差的天数(大日期在前,小日期在后)

二、字符串函数:
注意:mysql中字符串的索引值从1开始

CONCAT(S1,S2,…Sn) 把传入的参数连接成为一个字符串,任何字符串与NULL进行连接的结果都将是NULL
INSERT(str,start,length,instr) 将字符串str从第start位置开始,将后续长度为length个字符长的子串替换为字符串instr
LOWER(str) 把字符串转换成小写
UPPER(str) 把字符串转换成大写
LEFT(str,length) 返回字符串str左边长度为length个字符
RIGHT(str,length) 返回字符串str右边长度为length个字符

LPAD(str,length,pad) 用字符串pad对str最左边进行填充,n为填充后字符串的总长度
RPAD(str,length,pad) 用字符串pad对str最右边进行填充,n为填充后字符串的总长度
如果n的长度恰好等于str字符串的长度,则仅显示字符串str;
如果n的值小于字符串str的长度,字符串str会从右向左截断;
如果n的值大于str的长度值,pad开始在字符串str的左边或右边进行填充

LTRIM(str) 去掉字符串str左侧空格
RTRIM(str) 去掉字符串str右侧空格
TRIM(str) 同时去掉目标字符串的开头和结尾的空格

REPEAT(str,x) 将字符串str重复x次后返回
REPLACE(str,a,b) 用字符串b替换字符串str中所有出现的字符串a(a和b均是字符串,不限制单个字符)

STRCMP(s1,s2) 比较字符串s1和s2的ASCII码值的大小,字符串中每个字符逐一比较,若其中一字符串长度不足补0
如果s1比s2小,那么返回-1
如果s1与s2相等,那么返回0
如果s1比s2大,那么返回1

SUBSTRING(str,start,length) 从字符串str中的start位置开始,取出长度为length个字符长度的子串

三、数值函数:

ABS(x) 返回x的绝对值
CEIL(x) 返回第一个大于x的整数,如果是整数,返回本身
FLOOR(x) 返回第一个小于x的整数,和CEIL的用法相反,如果是整数,返回本身
MOD(x,y) 返回x/y的模
RAND() 返回0到1内的随机值
ROUND(x,y) 首先对x进行四舍五入,然后保留y位小数。
如果是整数,即使有y值,最后也不会保留小数;
如果不写y,则默认y为0,即将x四舍五入后取整

TRUNCATE(x,y) 返回数字x截断为y位小数的结果。

注意TRUNCATE和ROUND的区别在于TRUNCATE仅仅是截断,而不进行四舍五入

四、流程函数
注意:Mysql中True显示为1,False显示为0

IF(value,t,f) IF(条件表达式,t,f),如果表达式结果为真,返回t,否则f

IFNULL(value1,value2) 如果value1为NULL(value1通常为表中的字段名称),则将value1值替换成value2
这个函数一般用来替换NULL值的(即将表中某一列的所有NULL全部替换成value2值)

CASE WHEN [条件表达式1] THEN result1 如果条件表达式为真,返回result1
WHEN [条件表达式2] THEN result2 如果条件表达式为真,返回result2
WHEN [条件表达式3] THEN result3 如果条件表达式为真,返回result3
...
ELSE default #上述条件都不成立,返回default语句
END

示例:
select
case when salary <= 2000
then 'low'
else 'high'
end [as] result
from salary;

CASE [expr] #expr(通常是列名称)与哪一个value值相等,自信哪一个语句,如果都不等,则执行else语句

WHEN [value1] THEN [result1]
WHEN [value2] THEN [result2]
WHEN [value3] THEN [result3]

ELSE [resultN]
END

示例:
select
case salary
when 1000 then 'low'
when 2000 then 'mid'
when 3000 then 'high'
else 'no result'
end
from salary;

五、加密函数

password(str) #返回字符换str被password函数加密后的值
md(str) #返回字符串str被md5函数加密后的值

六、位操作函数
bit_count()
bit_or()

mysql中常用函数简介(不定时更新)的更多相关文章

  1. MATLAB常用函数(不定时更新)

    1.pause 一般情况下pause(a)表示程序暂停a秒后继续执行,但有时候也存在这种情况,程序中只有pause:并没有参数a,这样的意思是程序暂停,按任意键程序继续执行.2.uiwait(h,ti ...

  2. python 常用函数(不定时更新)

    1.遍历文件夹 import os def FileList(rootDir): FL=[] for lists in os.listdir(rootDir): path=os.path.join(r ...

  3. Mysql中常用的函数汇总

    Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回 ...

  4. MYSQL初级学习笔记八:MySQL中常用的函数!(视频序号:初级_45-50)

    知识点十:MySQL中的函数(45-50) 数学函数: 名称 描述 CEIL() 进一取整 FLOOR() 舍一取整 MOD 取余数(取摸) POWER() 幂运算 ROUND() 四舍五入 TRUN ...

  5. thinkphp中的内置操作数据库与mysql中的函数汇总

    8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...

  6. 一、MySQL中的索引 二、MySQL中的函数 三、MySQL数据库的备份和恢复 四、数据库设计和优化(重点)

    一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放 ...

  7. mysql中的函数总结

    mysql中常用日期时间函数 MySQL服务器中的三种时区设置: ①系统时区---保存在系统变量system_time_zone ②服务器时区---保存在全局系统变量global.time_zone ...

  8. mysql中常用的语句整理

    mysql中常用的语句: 1:创建带自增长的主键的表 DROP TABLE IF EXISTS user_login ; CREATE TABLE user_login (   user_id INT ...

  9. MySQL中时间函数NOW()和SYSDATE()的区别

    mysql中日期函数还是比较常用的.主要有NOW()和SYSDATE()两种,虽然都表示当前时间,但使用上有一点点区别. NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间. ...

随机推荐

  1. mybatis-trim标签说明

    trim标签使用1.trim 有四个属性 2.prefix,suffix 表示在trim标签包裹的部分的前面或者后面添加内容(注意:是没有prefixOverrides,suffixOverrides ...

  2. struts2与struts1的比较

    struts2相对于struts1来说简单了很多,并且功能强大了很多,我们可以从几个方面来看: 从体系结构来看:struts2大量使用拦截器来出来请求,从而允许与业务逻辑控制器 与 servlet-a ...

  3. C# 基础之字段与属性

    1.属性是字段的扩展 2.根据面向对象封装思想,字段最好设为private(私有),这样有利于防止客户端对字段的篡改,从而保证了成员的完整性 3.访问类中私有字段,C#提供了属性,用来对字段进行灵活的 ...

  4. NOIP前计划

    距离NOIp还有13天 距离继续学/退役还有13天 是时候列一波计划了 1. 要学的东西 cdq分治(突然发现cdq分治不太行,而且说不定可以用来代替想不出来的数据结构题) 主席树(写的太少啦,不熟练 ...

  5. POJ-1020-Anniversary Cake

    链接:https://vjudge.net/problem/POJ-1020 题意: 给一个宽为s的正方形,再给n个变长为an的小正方形, 判断是否能将这n个小正方形完全填充到这个大正方形里面. 思路 ...

  6. 牛客小白月赛13 E(图、矩阵幂)

    AC通道 如果建立第一天某点到某点有几条路的矩阵,做k次矩阵乘就是第k天某点到某点有几条路.统计即可. #include <bits/stdc++.h> using namespace s ...

  7. [WOJ3010] 骰子

    题目描述: 骰子是一个六面分别刻有一到六点的立方体,每次投掷骰子,理论上得到\(1\)到\(6\)的概率都是\(1/6\). 有骰子一颗,连续投掷\(n\)次,问点数总和大于等于\(X\)的概率是多少 ...

  8. 洛谷 P1067 多项式输出

    P1067 多项式输出 模拟,很坑的那种 var i,n:longint; a:array[1..105] of integer; begin readln(n); for i:=1 to n+1 d ...

  9. 转 oradebug命令详解

    转 http://blog.itpub.net/28883355/viewspace-1080879/ oradebug它可以启动跟踪任何会话,dump SGA和其它内存结构,唤醒ORACLE进程,如 ...

  10. 114 Flatten Binary Tree to Linked List 二叉树转换链表

    给定一个二叉树,使用原地算法将它 “压扁” 成链表.示例:给出:         1        / \       2   5      / \   \     3   4   6压扁后变成如下: ...