Mysql 函数

MySQL函数

字符串相关函数

1 ASCII(String)
返回字符串第一个字母的 ASCII 码:
SELECT ASCII('A');
SELECT ASCII('AB');
这两条语句都是输出 65
2 BIN(long)
返回整数的二进制形式的字符串
SELECT BIN(15);
  输出 1111
3 CHAR(int…)
将每个整型转换成对应的字符
SELECT CHAR(65,66,67,68,69);
输出 ABCDE
SELECT CHAR('65','66','67','68','69');
  参数为字符串时,会被转换成整型,然后再转换成对应字符。
4 CHAR_LENGTH(String)
返回字符串的长度! 中国 这个字符串长度为 2 ’ab’ 长度为 2 !不分中英文!
SELECT CHAR_LENGTH('a b c');
  输出 5
5 CHARACTER_LENGTH(String)
  与 CHAR_LENGTH() 完全相同!
6 CONCAT(String…)
将多个字符串连接成一个字符串
SELECT CONCAT('My', 'SQL');
  输出 MySQL
7 CONCAT_WS(separator, String…)
使用第一个参数字符串,把其他参数字符串连接。
SELECT CONCAT_WS('-', 'A','B','C');
  输出 A-B-C
8 CONV(int n, int radix1, int radix2)
n radix1 进制转换成 radix2 进制。
SELECT CONV('F', 16, 10);
  一个个参数 F 是一个数值,第二个参数 16 说明 F 16 进制数值,第三个参数 10 说明要把 F 转换成 10 进制,所以输出 15
9 ELT(N, str1, str2, str3…)
N 是一个整数,若 N 1 ,则返回 str1 ,若 N 2 ,则返回 str2 ,以此类推
SELECT ELT(3, 'a', 'b', 'c', 'd', 'e');
  输出 c
10 EXPORT_SET(int bits, String on, String off, Strring separator, int length)
bits 是一个整数,把 bits 转换成二进制,其中 1 on 替换, 0 off 转换,使用 separator 来连接每个二进制位, length 是指定从左到右显示几位。如果没有指定 length ,那么会在右边补足到 64 位。
SELECT EXPORT_SET(13, 'a', 'b', '-', 4);
输出 a-b-a-a ,因为 13 的二进制是 1011 ,其中 1 a 替换,而 0 b 替换。
SELECT EXPORT_SET(13, 'a', 'b', '-', 3);
输出 a-b-a
SELECT EXPORT_SET(13, 'a', 'b', '-', 10);
输出 a-b-a-a-b-b-b-b-b-b ,因为 13 只有 4 位,而 length 10 ,那么会在右边补足到 10 位,都是用 0 补,所以才会多出来 6 b

流程控制函数

1 CASE value WHEN v1 THEN expr1 WHEN v2 THEN expr2 …. END
这种 CASE WHEN THEN 语句与 Java 中的 switch 语句基本相同:
SELECT CASE 3
WHEN 1 THEN 'a'
WHEN 2 THEN 'b'
WHEN 3 THEN 'c'
WHEN 4 THEN 'd'
END;
2 CASE WHEN condition THEN expr1 WHEN condition THEN expr2 … END
这种 CASE WHEN THEN 语句与 Java 中的多分支 if/else if 比较相似:
SELECT CASE
WHEN 1>2 THEN '1>2'
WHEN 1<2 THEN '1<2'
END;
3 IF(condition, expr1, expr1)
同时与 Java 中的 if/else
SELECT
IF(1 > 0, '1>0', '1<0');
4 INNULL(expr1, expr2)
expr1 NULL 时,那么函数返回 expr2 ,否则返回 expr1
SELECT
IFNULL(NULL, 'hello');
SELECT
IFNULL('hello', 'world');

常用函数

1 时间日期相关函数
  • CURRENT_DATE():输出当前日期;
  • CURRENT_TIME():输出当前时间;
  • CURRENT_TIMESTAMP():输出当前日期和时间,即输出当前时间戳;
  • NOW():输出当前日期和时间,与CURRENT_TIMESTAMP相同;
2  字符串相关函数
  • CONCAT('My', 'SQL'):输出MySQL,即连接字符串,参数可以是多个;
  • CHAR_LENGTH('helloworld'):输出11,返回字符串字符的个数;
  • UCASE('hello'):输出HELLO
  • LCASE('HELLO'):输出hello
  • LEFT('helloworld',5):输出hello,输出左边5个字符;
  • LENGTH('helloworld'):输出13,返回字符串所占字节数。当然,如果client的字符集是gbk,那么就输出12了;
  • STRCMP('zhan', 'zhao'):输出-1,比较两个字符串的大小,如果前者大返回1,后者大返回-1,相等返回0
  • TRIM('   hello   '):输出hello,去除左右边空白;
3  数学运算相关函数
  • ABS(-100):输出100,求绝对值;
  • BIN(15):输出1111,即15的二进制字符串;
  • FORMAT(1.23456, 3):输出1.235,保留3位小数(四舍五入),如果整数部分大于3位会有逗号出现;
  • HEX(15):输出F,即出来16进制表示形式;
  • MOD(10, 3):输出1,即取余运算;
  • RAND():输出0~1之间的随机小数;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值