时间:2021-07-01 10:21:17 帮助过:2人阅读
SELECT GREATEST (2,3,4),GREATEST (1.1,3.2);
SELECT LEAST (2,3,4),LEAST (1.1,3.2);
FLOOR(X)
返回不大于X的最大整数值。
mysql> SELECT FLOOR(1.23);
-> 1
mysql> SELECT FLOOR(-1.23);
-> -2
LOG10(X)
返回X的基数为10的对数。
mysql> SELECT LOG10(2);
-> 0.30102999566398
mysql> SELECT LOG10(100);
-> 2
mysql> SELECT LOG10(-100);
-> NULL
POW(X,Y) , POWER(X,Y)
返回X 的Y乘方的结果值。
mysql> SELECT POW(2,2);
-> 4
mysql> SELECT POW(2,-2);
-> 0.25
ROUND(X) ROUND(X,D)
返回参数X, 其值接近于最近似的整数。在有两个参数的情况下,返回 X ,其值保留到小数点后D位,而第D位的保留方式为四舍五入。若要接保留X值小数点左边的D 位,可将 D 设为负值。
mysql> SELECT ROUND(-1.23);
-> -1
mysql> SELECT ROUND(-1.58);
-> -2
mysql> SELECT ROUND(1.58);
-> 2
mysql> SELECT ROUND(1.298, 1);
-> 1.3
mysql> SELECT ROUND(1.298, 0);
-> 1
mysql> SELECT ROUND(23.298, -1);
-> 20
二:聚合函数
SELECT * FROM core;
SELECT COUNT(*)FROM core;
SELECT MIN(math),MAX(physics) FROM core;
SELECT AVG(math) FROM core;
SELECT SUM(math) FROM core;
三:字符串函数
ASCII(str)
返回值为字符串str 的最左字符的数值。假如str为空字符串,则返回值为 0 。假如str 为NULL,则返回值为 NULL。 ASCII()用于带有从 0到255的数值的字符。
mysql> SELECT ASCII(‘2‘);
-> 50
BIT_LENGTH(str)
返回值为二进制的字符串str 长度。
mysql> SELECT BIT_LENGTH(‘text‘);
-> 32
CHAR(N,... [USING charset])
CHAR()将每个参数N理解为一个整数,其返回值为一个包含这些整数的代码值所给出的字符的字符串。NULL值被省略。
mysql> SELECT CHAR(77,121,83,81,‘76‘);
-> ‘MySQL‘
mysql> SELECT CHAR(77,77.3,‘77.3‘);
-> ‘MMM‘
CONCAT(str1,str2,...)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql> SELECT CONCAT(‘My‘, ‘S‘, ‘QL‘);
-> ‘MySQL‘
mysql> SELECT CONCAT(‘My‘, NULL, ‘QL‘);
-> NULL
mysql> SELECT CONCAT(14.3);
-> ‘14.3‘
INSTR(str,substr)
返回字符串 str 中子字符串的第一个出现位置。这和LOCATE()的双参数形式相同,除非参数的顺序被颠倒。
mysql> SELECT INSTR(‘foobarbar‘, ‘bar‘);
-> 4
mysql> SELECT INSTR(‘xbar‘, ‘foobar‘);
-> 0
LEFT(str,len)
返回从字符串str 开始的len 最左字符。
mysql> SELECT LEFT(‘foobarbar‘, 5);
-> ‘fooba‘
LENGTH(str)
返回值为字符串str 的长度,单位为字节。一个多字节字符算作多字节。这意味着对于一个包含5个2字节字符的字符串, LENGTH() 的返回值为 10, 而 CHAR_LENGTH()的返回值则为5。
mysql> SELECT LENGTH(‘text‘);
-> 4
四:时间日期函数
ADDDATE(date,INTERVAL expr type)ADDDATE(expr,days)
当被第二个参数的INTERVAL格式激活后, ADDDATE()就是DATE_ADD()的同义词。相关函数SUBDATE() 则是DATE_SUB()的同义词。对于INTERVAL参数上的信息,请参见关于DATE_ADD()的论述。
mysql> SELECT DATE_ADD(‘1998-01-02‘,INTERVAL 31 DAY);
-> ‘1998-02-02‘
mysql> SELECT ADDDATE(‘1998-01-02‘,INTERVAL 31 DAY);
-> ‘1998-02-02‘
若 days 参数只是整数值,则 MySQL 5.1将其作为天数值添加至 expr。
mysql> SELECT ADDDATE(‘1998-01-02‘, 31);
-> ‘1998-02-02‘
ADDTIME(expr,expr2)
ADDTIME()将 expr2添加至expr 然后返回结果。 expr 是一个时间或时间日期表达式,而expr2 是一个时间表达式。
mysql> SELECT ADDTIME(‘1997-12-3123:59:59.999999‘,
-> ‘1 1:1:1.000002‘);
-> ‘1998-01-02 01:01:01.000001‘
mysql> SELECT ADDTIME(‘01:00:00.999999‘,‘02:00:00.999998‘);
-> ‘03:00:01.999997‘
五:流程控制函数
前面为空,返回后面,后面为空返回前面
SELECTIFNULL(1,10),IFNULL(NULL,3),IFNULL(3,NULL);
判断值是否相等,相等返回空,不等返回第一个
SELECTNULLIF(1,1),NULLIF(‘a‘,‘c‘),NULLIF(3+1,2+2);
条件为真返回第一个,为假返回第二个
SELECTIF(1<10,2,3),IF(1>10,‘true‘,‘false‘);
输出结果go
SELECT CASE ‘green‘
WHEN ‘red‘ THEN ‘stop‘
WHEN ‘green‘ THEN ‘go‘
END;
输出结果n/a
SELECT CASE 9
WHEN 1 THEN ‘a‘
WHEN 2 THEN ‘b‘
ELSE ‘n/a‘
END;
输出结果:ok
SELECT CASE
WHEN (2+2)=4 THEN ‘ok‘
WHEN (2+2)<>4 THEN ‘not ok‘
END AS STATUS;
版权声明:博主原创文章,转载请说明出处。http://blog.csdn.net/dzy21
mysql常用函数
标签:mysql