MySQL 常用内置函数

1.数值函数

Abs(X) //绝对值abs(-10.9) = 10
Ceil(X) //向上取整ceil(10.1) = 11
Floor(X) //向下取整floor (10.1) = 10
Round(X) //四舍五入去整
Mod(M,N) M%N M MOD N //求余 10%3=1
Pi() //获得圆周率
Pow(M,N) //M^N
Sqrt(X) //算术平方根
Rand() //随机数
Truncate(X,D) //截取D位小数

2.时间日期函数

Now(),current_timestamp() //当前日期时间
Current_date() //当前日期
current_time() //当前时间
Date(‘yyyy-mm-dd HH;ii:ss’) //获取日期部分
Time(‘yyyy-mm-dd HH;ii:ss’) //获取时间部分
Date_format(‘yyyy-mm-dd HH;ii:ss’,’%D %y %a %d %m %b %j') //日期格式化
Unix_timestamp() //获得unix时间戳
From_unixtime() //从时间戳获得时间

3.字符串函数

Ascii(str) //返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。
Concat(str[,... ]) //连接字串
Char_Length(str) //str的字符个数
Length(str) //str长度,字节
Instr(str,substr) //返回substr首次在str中出现的位置
Locate(substring,str [,start_position ]) //同INSTR,但可指定开始位置
Lcase(str) //转换成小写
Left(str,length) //返回字符串str的最左面length个字符。
Right(str,length) //返回字符串str的最右面length个字符。
Substr(str,position [,length ]) //从str的position开始,取length个字符。和substr()一样。
Trim(str) //去除前后端空格
Ltrim(str) //去除前端空格
Rtrim(str) //去除后端空格
Replace(str,search_str,replace_str) //在str中用replace_str替换search_str
Repeat(str,count) //重复count次
Reverse(str) //返回颠倒字符顺序的字符串str
Insert(str,pos,length,newstr) //返回字符串str,在位置pos起始的子串且length个字符长的子串由字符串newstr代替。
substring_index(str,delim,count) //从str中找到delim字符串按下标获取字符串
Load_File(file_name) //从文件读取内容
Lpad(str,length,pad ) //重复用pad加在str开头,直到字长度为length
Rpad(str,length,pad) //在str后用pad补充,直到长度为length

4.流程函数

IF(expr1,expr2,expr3) //如果 expr1 是TRUE,则返回值为expr2; 则返回值则为 expr3。
Ifnull(expr1,expr2) //如果expr1为null, 则返回expr2
Case When [condition] Then result [When [condition] Then result ...] [Else result] End //多分支
Strcmp(str1,str2) //如果str1>str2返回1,str1=str2反回0,str1<str2返回-1)

5.系统信息函数

version() //函数返回数据库的版本号
connection_id() //函数返回服务器的连接数,也就是到现在为止MySQL服务的连接次数
database(), schema() //返回当前数据库名
user(), system_user(), session_user(), current_user() //获取用户名的函数
Charset(str) //函数返回字符串str的字符集,一般情况这个字符集就是系统的默认字符集;
Collation(str) //函数返回字符串str的字符排列方式
Last_Insert_Id() //函数返回最后生成的AUTO_INCREMENT值

6.其他常用函数

ASCII(s) //返回字符串s的第一个字符的ASCII码;
BIN(x) //返回x的二进制编码;
OCT(x) //返回x的八进制编码;
HEX(x) //返回x的十六进制编码;
CONV(x,f1,f2) //将x从f1进制数变成f2进制数。
/* 格式化函数 */
Format(x,n) //函数可以将数字x进行格式化,将x保留到小数点后n位。这个过程需要进行四舍五入。
/* 加密函数 */
Md5() //函数可以对字符串str进行加密。
/* IP地址与数字相互转换的函数 */
INET_ATON(IP) //函数可以将IP地址转换为数字表示(函数中IP值需要加上引号)
INET_NTOA(n) //函数可以将数字n转换成IP的形式。
/* 加锁函数和解锁函数 */
Get_Loct(name,time) //函数定义一个名称为name、持续时间长度为time秒的锁。如果锁定成功,返回1;如果尝试超时,返回0;如果遇到错误,返回NULL。
Release_Lock(name) //函数解除名称为name的锁。如果解锁成功,返回1;如果尝试超时,返回0;如果解锁失败,返回NULL;
Is_Free_Lock(name) //函数判断是否使用名为name的锁。如果使用,返回0;否则,返回1。
Benchmark(count,expr) //函数将表达式expr重复执行count次,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。
/* 改变字符集的函数(只对BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、UNSIGNED INTEGER这些类型起作用,只是改变了输出值的数据类型) */
CONVERT(s USING cs) //函数将字符串s的字符集变成cs
CAST(x AS type) 和 CONVERT(x,type) //这两个函数将x变成type类型。

 

posted @ 2020-04-08 19:35  静海平心  阅读(...)  评论(...编辑  收藏