SQL常见函数

概念

类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名



好处

1、隐藏了实现细节  2、提高代码的重用性

调用:select 函数名(实参列表) 【from 表】;



特点

    ①叫什么(函数名)

    ②干什么(函数功能)



分类

1、单行函数

     字符函数,数学函数,日期函数,流程控制函数,其他函数等

2、分组函数

    功能:做统计使用,又称为统计函数、聚合函数、组函数


1. 单行函数

    1) 字符函数

    concat    拼接

    substr    截取子串(有四个重载函数,索引从1开始)

    instr    返回子串第一次出现的索引

    upper    转换成大写

    lower    转换成小写

    trim    去前后指定的空格和字符

    ltrim    去左边空格

    rtrim    去右边空格

    replace (str, from_str, to_str)   替换(若有多个字符均会替换)

    lpad    左填充

    rpad    右填充

length    获取字节个数(汉字在GBK中占2个字符,在UTF-8中占3个字符)


2)数学函数

    round    四舍五入( 重载函数ROUND(X,D):小数点后保留D位)

    rand     随机数    ()

    floor    向下取整,返回<=该参数的最大整数

    ceil    向上取整,返回>=该参数的最小整数

    mod    取余(与%相同)

    truncate(X, D)    截断,X的小数点后保留D位


3)日期函数

    now    当前系统日期+时间

    curdate    当前系统日期

    curtime    当前系统时间

    str_to_date 将字符转换成日期

    date_format将日期转换成字符

获取指定的年,月,日,小时,分钟,秒:

4)流程控制函数

    (1) if(expr1, expr2, expr3) : 处理双分支

(2) case的使用一:与switch-case相同

    case 要判断的字段或表达式

    when 常量1 then 要显示的值1或语句1;

    when 常量2 then 要显示的值2或语句2;

    ...

    else 要显示的值n或语句n;

    end

3)Case的使用二:类似于多重if

    java中:

        if(条件1){

            语句1;

        }else if(条件2){

            语句2;}

...

        else{

            语句n; }

mysql中:

    case

    when 条件1 then 要显示的值1或语句1

    when 条件2 then 要显示的值2或语句2

    ...    

    else 要显示的值n或语句n

    end

5)其他函数

version 版本

database 当前库

user当前连接用户


2. 分组函数

    功能:用作统计使用,又称为聚合函数或统计函数或组函数

    sum 求和

    max 最大值

    min 最小值

    avg 平均值

    count 计数

特点:

    1、以上五个分组函数都忽略null值,除了count(*)

    2、sum和avg一般用于处理数值型,

            max、min、count可以处理任何数据类型

    3、都可以搭配distinct使用,用于统计去重后的结果

    4、count的参数可以支持:

        字段、*、常量值,一般放1    (为字段时计算的是非空值的个数)

        建议使用 count(*)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容