MySql常用(一、字符串和数值)函数
5.1字符串函数函数名称 | 功能 | 举例 | 结果 |
ASCII(char) | 返回字符的ASCII码值 | select ASCII('A'); | 65 |
CONCAT(s1, s2, ..., sn) | 将s1,s2...,sn连接成字符串 | select concat('a', 'b', 'c'); | abc |
CONCAT_WS(sep, s1, s2, ..., sn) | 将s1,s2...,sn连接成字符串,并用sep字符间隔 | select concat_ws('-', 'a', 'b', 'c'); | a-b-c |
INSERT(str, x, y, instr) | 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果 | select insert('abcde', 2, 2, 'lcl'); | alclde |
LCASE(str)或LOWER(str) | 返回将字符串str中所有字符改变为小写后的结果 | | |
UCASE(str)或UPPER(str) | 返回将字符串str中所有字符转变为大写后的结果 | | |
LEFT(str, x) | 返回字符串str中最左边的x个字符 | select left('beijing', 3); | bei |
RIGHT(str, x) | 返回字符串str中最右边的x个字符 | select right('beijing', 3); | ing |
LPAD(str, n, pad) | 用字符串pad对str最左边进行填充,直到字符为n个字符长度 | | |
RPAD(str, n, pad) | 用字符串pad对str最右边进行填充,直到字符为n个字符长度 | | |
TRIM(str) | 去掉字符串两端的空格 | | |
LTRIM(str) | 去掉字符串左侧的空格 | select ltrim(' beijing '); | beijing |
RTRIM(str) | 去掉字符串右侧的空格 | select rtrim(' beijing '); | beijing |
REPEAT(str, x) | 返回字符串str重复x次的结果 | select repeat('beijing', 2); | beijingbeijing |
REPLACE(str, a, b) | 用字符串b替换字符串str中出现的所有字符串a | | |
STRCMP(s1, s2) | 比较字符串s1和s2 | s1 == s2 : 返回0, s1 < s2 : 返回-1, s1 > s2 : 返回1 | |
SUBSTRING(str, x, y) | 返回从字符串str第x个位置起y个字符长度的子串 | select substring('beijing', 2, 3); | eij |
POSITION(substr in str) | 返回子串substr在字符串str中第一次出现的位置 | SELECT POSITION('bar' in 'foobarbar'); | 4(注意in的使用) |
LOCATE(substr,str) | 函数返回子串substr在字符串str中第一次出现的位置。如果子串substr在str中不存在,返回值为0。 | SELECT LOCATE('bar', 'foobarbar'); | 4 |
QUOTE(str) | 用反斜杠转义str中的单引号 | select QUOTE("bei'jing'"); | 'bei\'jing\'' |
LENGTH(str) | 返回字符串的长度 | SELECT LENGTH('abc'); | 3 |
5.2数值函数函数名称 | 功能 | 举例 | 结果 |
PI() | 获取π的值 | select PI(); | 3.141593 |
ABS(x) | 返回x的绝对值 | | |
CEIL(x) | 返回大于x的最小整数值 | | |
FLOOR(x) | 返回小于x的最大整数值 | | |
MOD(x, y) | 返回x/y的摸 | | |
ROUND(x, y) | 返回参数x的四舍五入的有y位小数的值 |
RAND() RAND(N) | 获取随机值,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)。 | 略 | 略 |
FORMAT(X,D) | 将数字X的格式写为'#,###,###.##',以四舍五入的方式保留小数点后D位,并将结果以字符串的形式返回。若D为0, 则返回结果不带有小数点,或不含小数部分。 | 略 | 略 |
TRUNCATE(X,D) | 返回被舍去至小数点后D位的数字X。若D 的值为 0, 则结果不带有小数点或不带有小数部分。可以将D设为负数,则归零X小数点左起第D位开始后面所有低位的值。 | 略 | 略 | |
mysql> SELECT FORMAT(12332, 4);
+------------------+
| FORMAT(12332, 4) |
+------------------+
| 12,332.0000 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT FORMAT(12332.123456, 0);
+-------------------------+
| FORMAT(12332.123456, 0) |
+-------------------------+
| 12,332 |
+-------------------------+
1 row in set (0.00 sec)
mysql> SELECT FORMAT(12332.123456, 4);
+-------------------------+
| FORMAT(12332.123456, 4) |
+-------------------------+
| 12,332.1235 |
+-------------------------+
1 row in set (0.00 s