用于查询MySQL信息
函数 | 用法 |
---|---|
VERSION() | 返回当前MySQL的版本号 |
CONNECTION_ID() | 返回当前MySQL服务器的连接数 |
DATABASE(),SCHEMA() | 返回MySQL命令行当前所在的数据库 |
USER(),CURRENT_USER(),SYSTEM_USER(),SESSION_USER() | 返回当前连接MySQL的用户名,“主机名@用户名” |
CHARSET(value) | 返回字符串value自变量的字符集 |
COLLATION(value) | 返回字符串value的比较规则 |
示例:
SELECT DATABASE(), USER(), -- [email protected] CURRENT_USER(), -- [email protected] SYSTEM_USER(), -- [email protected] SESSION_USER(), -- [email protected] CHARSET('ABC'), -- utf8mb4 COLLATION('ABC'); -- utf8mb4_0900_ai_ci 比较规则
IP地址转为数字计算方式:192.168.1.100
192*256^3+168*253^3+1*256+100 = 3232235876
函数 | 小写 | 用法 |
---|---|---|
FORMAT(value,n) | format | 返回对数字value进行格式化后的结果数据。n表示四舍五入后保留到小数点后n位 |
CONV(value,from,to) | conv | 将value的值进行不同进制之间的转换 |
INET_ATON(ipvalue) | 将以点分隔的IP地址转化为一个数字 | |
INET_NTOA(value) | 将数字形式的IP地址转化为以点分隔的IP地址 | |
BENCHMARK(n,expr) | benchmark | 将表达式expr重复执行n次。用于测试MySQL处理expr表达式所耗费的时间 |
CONVERT(value USING char_code) | convert | 将value所使用的字符编码修改为char_code,实现字符集的转换 |
示例:
SELECT FORMAT(123.123,2), -- 123.12 FORMAT(123.523,0), -- 124 FORMAT(123.123,-2), -- 123 n小于等于0则只保留整数部分 CONV(16,10,2), -- 10000 将10进制数16转为二进制数 CONV(8888,10,16), -- 22B8 将10进制数8888转为16进制数 CONV(NULL,10,2), -- null INET_ATON('192.168.1.100'), -- 3232235876 INET_NTOA(3232235876), -- 192.168.1.100 BENCHMARK(1,MD5('mysql')), -- 0 将表达式MD5('mysql')执行1次,返回执行时间 BENCHMARK(1000000,MD5('mysql')), -- 0 CHARSET('mysql'), -- utf8mb4 查看字符编码 CHARSET(CONVERT('mysql' USING 'utf8')); -- utf8mb3 将‘mysql’的字符编码修改为utf8