一、概述
功能:类似于java中的方法
好处:提高重用性和隐藏实现细节
调用:select 函数名(实参列表);

二:常用的函数:

① 单行函数

1.分组函数

1.sum(),avg(),max(),min(),count();

// 求和,平均数,最大值,最小值,个数;

2.字符函数

concat();    //连接两个字符串

substr();    //截取字串

upper();     //小写变大写

lower();    //大写变小写

reaplace();//将指定的位置的字符替换成目标字符串

length();  //获取字符串长度

trim();    //去除前后空格或去除指定字母(需要自己定义)

lpad()  //左填充

rpad()//右填充

inst()//获取指定字串第一次出现在目标字符串的位置

3.数学函数

ceil():向上取整
round():四舍五入
mod():取模
floor():向下取整
truncate():截断
rand():获取随机数,返回0-1之间的小数

4.日期函数

now():返回当前日期+时间

SELECT NOW();

year():返回年

SELECT YEAR(NOW());

month():返回月

SELECT MONTH(NOW());

day():返回日

SELECT DAY(NOW());

date_format():将日期转换成字符

SELECT DATE_FORMAT(NOW(),'%m-%d-%y');
#将日期转换成指定格式的字符输出

curdate():返回当前日期

SELECT CURDATE();

str_to_date():将字符转换成日期

SELECT STR_TO_DATE('2017/01/02', '%Y/%m/%d');

curtime():返回当前时间
hour():小时
minute():分钟
second():秒

datediff():返回两个日期相差的天数

SELECT DATEDIFF(NOW(),'1998/07/27');

monthname():以英文形式返回月

SELECT MONTHNAME('1998/07/27');

5.其他函数

version 当前数据库服务器的版本
database 当前打开的数据库
user当前用户
password('字符'):返回该字符的密码形式
md5('字符'):返回该字符的md5加密形式

6.流程控制函数

if:

if(条件表达式1,条件表达2,条件表达式三) ;// 判断条件表达式一,如果是true,输出表达式 二,如果是false,输出表达式三,和三元表达式差不多

SELECT IF(1=2,2,3);
 3

case:情况1

case 变量或表达式或字段
when 常量1 then 值1
when 常量2 then 值2
...
else 值n
end

select id,name,(case sex

       when '' then '男'

       when '' then '女'

        else '其他' end)

from student;

case情况2
case
when 条件1 then 值1
when 条件2 then 值2
...
else 值n
end

select name,id,(case when id=34 then salary*2

                                    when id=45 then salary*3

                                    else salary

                                    end) new_salary

from semp;

7.特点

①语法
select max(字段) from 表名;

②支持的类型
sum和avg一般用于处理数值型
max、min、count可以处理任何数据类型

③以上分组函数都忽略null
④都可以搭配distinct使用,实现去重的统计
select sum(distinct 字段) from 表;
⑤count函数
count(字段):统计该字段非空值的个数
count(*):统计结果集的行数
案例:查询每个部门的员工个数
1 xx    10
2 dd    20
3 mm    20
4 aa    40
5 hh    40

count(1):统计结果集的行数

效率上:
MyISAM存储引擎,count(*)最高
InnoDB存储引擎,count(*)和count(1)效率>count(字段)

⑥ 和分组函数一同查询的字段,要求是group by后出现的字段

DQL-常见的函数的更多相关文章

  1. python常见的函数和类方法

    在学python编程时 常常会遇到些常见的函数 记录学习 1. getattr函数 """ getattr() 函数用于返回一个对象属性值. 语法: getattr(ob ...

  2. Python函数式编程(二):常见高级函数

    一个函数的参数中有函数作为参数,这个函数就为高级函数. 下面学习几个常见高级函数. ---------------------------------------------------------- ...

  3. 9、MySQL常见的函数?

    请参考下面的博客文章: MySQL常见的函数

  4. SEC8 - MySQL 查询语句--------------进阶4:常见的函数

    # 进阶4:常见的函数 /* 概念:将一组逻辑语句封装在方法体中,对外暴露方法名 好处:1.隐藏了实现细节 2.提高代码的复用性 调用: select 函数名() [from 表]; 特点: (1)叫 ...

  5. JS:JS中常见的 “函数名 is not a function” 错误

    js中常见的错误,例如Uncaught TypeError: x is not a function 其原因除了函数本身有错之外,还有一种很奇怪的情况:函数本身没有错,但是运行时就是不能正常运行.这种 ...

  6. SQLSERVER常见系统函数之字符串函数(一)

    好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...

  7. php 中常见的函数及系统常量

    1.判断是否存在某函数: function_exists('memory_get_usage'): 2.统计程序执行到某节点消耗的系统内存: memory_get_usage(); 3.当前访问目录的 ...

  8. [Angularjs]常见api函数

    写在前面 在angularjs中提供了一些常用的函数,比如angular.lowercase(),angular.uppercase(),angular.isString(),angular.isNu ...

  9. VB程序逆向反汇编常见的函数

    VB程序逆向常用的函数 1) 数据类型转换: a) __vbaI2Str    将一个字符串转为8 位(1个字节)的数值形式(范围在 0 至 255 之间) 或2 个字节的数值形式(范围在 -32,7 ...

  10. Javascript常见全局函数

      ØdecodeURI() 解码某个编码的 URI ØencodeURI() 把字符串编码为 URI ØdecodeURIComponent() 解码一个编码的 URI 组件 ØencodeURIC ...

随机推荐

  1. jquery中的$().each和$.each的区别

    jquery中的$().each和$.each的区别 注意:jquery中的$().each和$.each的区别,前者只能遍历数组,后者可以遍历数组和对象 备注:sinobook项目中地名本体相关地按 ...

  2. 判断sql是否存在特定的对象

    1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表是否存 ...

  3. 移动web中的幻灯片切换效果

    百度或者谷歌下类似的插件有很多,原理都差不多,关键适合自己的项目,如果移动端要引入jquery这么大的插件,只能呵呵了.... 下面是工作中针对webkit内核的浏览器写的,html很简单: < ...

  4. Goodbye Bingshen

    在uoj上打的第二场比赛......还凑合(卧槽C题80分没了QAQ 第一次接触交互题还挺好玩的哈哈 可能是人比较多吧.....rating涨了不少...... 现在我rating正好比lrd高1哈哈 ...

  5. 类型同时存在于A.dll和B.dll中的解决办法

    引用B.dll后,右键引用中的B.dll属性->别名->Test using的最前面加上 extern alias Test; 使用 Test.MyClass.DoSth();

  6. type="button"和type="submit"的区别

    type="button" ,"submit" 的区别(转) Submit是专门用于提交表单的Button,与Button的区别主要有两点: type=button 就单纯是按钮功能   type=s ...

  7. CentOS 7运维管理笔记(12)----GUI配置工具Webmin的安装

    早期的Linux系统管理员或是Web管理员在修改服务器配置时使用最多的就是vi编辑器,但是现在越来越多的基于GUI界面的配置工具出现了,毕竟人们还是喜欢以直接的可视化的方式来修改服务器的配置,而不是再 ...

  8. OpenCV 小图重叠至大图指定位置

    Android OpenCV Java: Codes: smallImg.copyTo( bigImg.submat( y, smallImg.rows(), x, smallImg.cols() ) ...

  9. Python爬虫教程-34-分布式爬虫介绍

    Python爬虫教程-34-分布式爬虫介绍 分布式爬虫在实际应用中还算是多的,本篇简单介绍一下分布式爬虫 什么是分布式爬虫 分布式爬虫就是多台计算机上都安装爬虫程序,重点是联合采集.单机爬虫就是只在一 ...

  10. 【Udacity】线性回归方程 Regression

    Concept in English Coding Portion 评估回归的性能指标--R平方指标 比较分类和回归 Continuous supervised learning 连续变量监督学习 R ...