MySQL 中 常用函数(1)

本篇整理一下 MySQL 中比较常用的函数,在日常工作中遇到其他不熟悉的函数完全可以查手册,记住各种不常用函数的意义并不大。

数学函数

绝对值(abs)

select abs(3-5);

上面这条就可以用 abs() 返回 3-5 的绝对值 2

进制转换(bin, oct, hex)

select bin(7);

上面这条语句就把十进制的 7 转化成二进制 111。oct(). hex() 函数也差不多,分别是转换成八进制和十六进制

小数取整(floor, ceiling)

select floor(3.5);

上面这条即对数做向下取整,即小数点后面的舍去,而 ceiling() 则是向上取整会给出大于 x 的最小整数,例如

select ceiling(3.4);

则会返回4

随机数(rand)

select rand();

rand() 会给出 0 到 1 之间的随机数,可以加入一个参数种子,使其生成一个指定的值

聚合函数

聚合函数除了前面MySQL 中 group 分组与统计函数这篇文章中归纳过的 avg(),count(), min(col), max(col), sun(col) 外,常用的还有 group_concat(col)。group_concat() 是将其拼接起来

select group_concat(goods_id separator"-"),cat_id from goods where cat_id = 4 group by cat_id;

group_concat() 默认使用逗号拼接,可以使用 separator 指定拼接的符号

字符串函数

ASCII码(ASCII)

select ascii('a');

返回字符 a 的 ASCII 码 97

字符串比特长度(bit_length)

select bit_length("武林外传");

在 utf8 下返回 96,即 8*3*4,gbk 则是返回 64,8*2*4

字符串字节长度(length)

select length("武林外传");

在 utf8 下返回 12,gbk 下返回 8。因为 utf8 下一个汉字是 3 个字节, gbk 下一个汉字是 2 个字节

字符串的字符数(char_length)

select char_length("武林外传");

返回的就是 4 ,返回的是字符数的长度

反转字符串 (reverse)

select reverse("武林外传");

返回的就是“传外林武”

最右边 x 个字符(right)

select right("武林外传",2);

返回“外传”两个字

第一次出现的位置(position)

select position("@" in "[email protected]");

返回 7 ,即从 1 开始数,和大多数编程语言从 0 开始不同

你可能感兴趣的:(MySQL 中 常用函数(1))