Mysql函数大全

1.查询结果运算:计算百分比

concat(cast((CompletedQuantity/(ScrappedQuantity+CompletedQuantity))*100 as decimal),'%')

2.null函数:

isnull(expr)
如expr为null,那么isnull()的返回值为1,否则返回值为0;

ifnull(expr1,expr2)
假如expr1不为NULL,则IFNULL()的返回值为expr1; 否则其返回值为expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境;

nullif(expr1,expr2)
如果expr1=expr2成立,那么返回值为NULL,否则返回值为expr1。这和
CASE WHEN expr1=expr2 THEN NULL 
ELSE 
  expr1 
END  相同。    
IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值 

3.连接函数:

concat(str1,str2,…)  
返回结果为连接参数产生的字符串。
注意:
MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL;Oracle只能连接2个,多个使用 || 代替concat函数

concat_ws函数
contcat_ws() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值;和concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL而是把null值省略

group_concat函数
完整的语法:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
例如:以id分组,把name字段的值打印在一行,逗号分隔(默认)
select id,group_concat(name) from aa group by id;

4.复制函数:

用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数
select repeat('ab',2);

5.条件范围函数:

FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到 N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为NULL。 这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。
如果strlist是常量,则可以直接用IN, 否则要用find_in_set()函数。

6.日期格式转换函数:

DATE_FORMAT(date,format)————–>oracle中的to_char();
str_to_date(date,format)————–>oracle中的to_date();
ADD_MONTHS 
增加或减去月份 
MONTHS_BETWEEN(date2,date1) 
给出date2-date1的月份 
格式 描述
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%i 分钟,数值(00-59)
%j 年的天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 月名
%m 月,数值(00-12)
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间, 24-小时 (hh:mm:ss)
%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%W 星期名
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位

计算函数

MOD(n1,n2) 
返回一个n1除以n2的余数 ;
ABS 
返回指定值的绝对值 ;
ACOS 
给出反余弦的值 ;
ASIN 
给出反正弦的值;
ATAN 
返回一个数字的反正切值 ;
CEIL 
返回大于或等于给出数字的最小整数;
COS 
返回一个给定数字的余弦;
EXP 
返回一个数字e的n次方根 ;
FLOOR 
对给定的数字取整数;
LN -----以e为底的对数
返回一个数字的对数值;
LOG(n1,n2) 
返回一个以n1为底n2的对数 ;
POWER 
返回n1的n2次方根;
SIGN 
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 ;
SIN 
返回一个数字的正弦值;
TAN 
返回数字的正切值 ;
TANH 
返回数字n的双曲正切值 ;
SQRT 
返回数字n的根 

log

你可能感兴趣的:(数据库)