mysql简单函数

mysql简单函数

1、baiMySQL 提供几个处理null的函数

1)、ifnull(expr1,expr2):如果expr1不为dunull,则返回expr1,否则返回expr2;
2)、nullif(expr1,expr2):expr1与expr2相等,则返回null,否则返回expr1;
3)、if(expr1,expr2,expr3):类似于三目运算符,expr1为true,返回expr2,否则返回expr3;
4)、isnull(expr1):判断expr1是否为null,expr1为null,返回true,否则返回false。

2、MySQL case函数
CASE 函数是一个流程控制函数,作用同c++中switch语句。有如下两种使用方法:

1)、用值比较 case value when compareValue1 then result1 when compareValue2
then result2 …… else result end
用value依次与各compareValue比较,相等则返回对应的result,并退出case函数。
2)、用条件判断 case when
condition1 then result1 when condition2 then result2 …… else result
end 各condition都为布尔表达式,从上到下判断,为true则返回对应的result,并退出case函数。 使用示例: SELECT
student_name,CASE WHEN student_id<3 THEN ‘初级班’ WHEN student_id<=6 THEN
‘中级班’ ELSE ‘高级版’ END FROM student_table;

说明:上面语句选择student_name与student_id两列,只是student_id用CASE 函数替换为对应的文字说明。

3、部分时间日期函数

1)、CURTIME():返回完整的时间类型值,如:’2016-08-10 22:13:30‘;
2)、CURDATE():返回当前日期,时间部分为0,如:’2013-08-10 00:00:00‘;
3)、ADDTIME(time1,time2):time1为time或datetime表达式,time2为time表达式,如:
addtime(’2016-08-10 22:20:00‘,’10:10:10’)返回2016-08-11 08:30:10;
addtime(’2016-08-10 22:20:00‘,’1 10:10:10’)返回2016-08-12 08:30:10;
addtime(’22:20:00‘,’10:10:10’)返回32:30:10,所以只有时分秒时应

注意相加后的值是否大于23:59:59!上面的参数值都可带微秒[.xxxxxx]。
4、部分字符串函数

1)、LEFT(param,length):返回包含param左边的length 个字符的字符串。length 大于param
长度时返回整个param。 2)、RIGHT(param,length):返回包含param右边length 个字符的字符串。同理。
最大用处在于param 可以是选出的某个列的数据,如最基础的用法: select LEFT(e.name,5) from table1 e;

5、常用分组和组函数
常用组函数:
注:distinct:区别的。指定计算是否包含所有重复值。

1、avg([distinct|all]expr):计算多行expr的平均值,其中expr可以是变量、常量或数据列,但其类型必须是数值型;
2、count(*|[distinct|all]expr):计算多行的记录数。expr同上,但数据类型可以是任意类型;
3、max(expr):计算多行expr的最大值,expr同count中; 4、min(expr);
5、sum([distinct|all]expr):计算多行expr的总和,expr可以是变量、常量或数据列,但数据类型必须是数值型。

group by 分组与having过滤: 语法:
#查询结果按分组列不重复的显示。 select * from tableName group by columnName1[,columnName2,……];

说明:对于MySQL 如果被分组的列对应的其它列有多个对应值,则只显示第一条记录的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值