MySQL函数-其他函数

1、格式化函数FORMAT(x,n)
   FORMAT(x,n)函数可以将数字x进行格式化,将x保留到小数点后n位。
SELECT FORMAT(3.1415926,3) -- 3.142 
2、不同进制的数字进行转换
•ASCII(s) 返回字符串s的第一个字符的ASCII码;
•BIN(x) 返回x的二进制编码;
•HEX(x) 返回x的十六进制编码;
•OCT(x) 返回x的八进制编码;
•CONV(x,f1,f2) 返回f1进制数变成f2进制数;
3、IP地址与数字相互转换的函数
•INET_ATON(IP)函数可以将IP地址转换为数字表示;IP值需要加上引号;
•INET_NTOA(n)函数可以将数字n转换成IP形式。
SELECT INET_ATON('192.168.0.1') -- 3232235521
SELECT INET_NTOA(3232235521) -- 192.168.0.1 
4、加锁函数和解锁函数
• GET_LOCK(name,time)函数定义一个名称为name、持续时间长度为time秒的锁。如果锁定成功,则返回1;如果尝试超时,则返回0;如果遇到错误,返回NULL。
• RELEASE_LOCK(name)函数解除名称为name的锁。如果解锁成功,则返回1;如果尝试超时,返回0了;如果解锁失败,返回NULL;
• IS_FREE_LOCK(name)函数判断是否已使用名为name的锁定。如果使用,返回0,否则,返回1;
SELECT GET_LOCK('MySQL',10) -- 1    (持续10秒)
SELECT IS_FREE_LOCK('MySQL') -- 1    
SELECT RELEASE_LOCK('MySQL') -- 1 
5、重复执行指定操作的函数
   BENCHMARK(count,expr)函数将表达式expr重复执行count次,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。
SELECT BENCHMARK(10000,NOW()) -- 0    返回系统时间1万 
SELECT BENCHMARK(100000000,NOW()) -- 0 ^_^^-^^_^
6、改变字符集的函数
   CONVERT(s USING cs)函数将字符串s的字符集变成cs。
SELECT CHARSET('ABC') -- utf-8    
SELECT CHARSET(CONVERT('ABC' USING gbk)) -- gbk 
7、转换数据类型
•CAST(x AS type)
•CONVERT(x,type)
   这两个函数只对BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、UNSIGNED INTEGER。
SELECT CAST('123' AS UNSIGNED INTEGER) + 1 -- 124
SELECT '123' + 1 -- 124 其实MySQL能默认转换
SELECT CAST(NOW() AS DATE) -- 2018-03-05

你可能感兴趣的:(数据库)