美文网首页MySQL数据库
Select进阶查询·常用函数

Select进阶查询·常用函数

作者: 技术老男孩 | 来源:发表于2023-01-22 12:36 被阅读0次

    一、MySql中函数定义:

    • 函数就是MySQL服务内置的命令
    • 函数的格式:函数名()
    • 通常使用的方法=>函数名(表头名)

    二、常用函数:

    分类 命令/符号/... 说明
    字符函数 LENGTH(str) 返字符串长度,以字节为单位
    CHAR_LENGTH(str) 返回字符串长度,以字符为单位
    LOWER(str)和LCASE(str) 将str中的字母全部转换成小写
    SUBSTR(s, start,end) 从s的start位置开始取出到end长度的子串
    INSTR(str,str1) 返回str1参数,在str参数内的位置
    TRIM(s) 返回字符串s删除了两边空格之后的字符串
    数学函数 ABS(x) 返回x的绝对值
    PI() 返回圆周率π,默认显示6位小数
    ABS(x) 返回x被y除后的余数
    MOD(x,y) 返为单位
    CEIL(x)、CEILING(x) 返回不小于x的最小整数 (x 是小数)
    FLOOR(x) 返回不大于x的最大整数 (x 是小数)
    ROUND(x) 返回最接近于x的整数,即对x进行四舍五入 (x 是小数)
    ROUND(x,y) 返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位 (x 是小数)
    时间函数 curtime() 获取时间:h:m:s
    curdate() 获取日期:y-m-d
    now() 获取日期时间:y-m-d h:m:s
    year(date) 获取年份
    month(date) 获取月份
    day(date) 获取一个月的第几天
    week(date) 获取一年中的第几周
    date(date) 获取日期:y-m-d
    weekday(date) 获取一周中的周几
    time(date) 获取时间:h:m:s
    hour(date) 获取小时
    minute(date) 获取分钟
    second(date) 获取秒钟
    quarter(date) 获取一年中的第几个季度
    monthname(date) 获取月份名称(英文)
    dayname(date) 获取星期几(英文)
    dayofyear(date) 获取一年中的第几天
    dayofmonth(date) 获取一个月的第几天
    聚集函数 avg(表头名) 计算平均值
    min(表头名) 获取最小值
    max(表头名) 获取最大值
    count(表头名) 统计表头值个数

    三、案例:

    • 字符函数例子
    mysql> select name,length(name) from tarena.employees where employee_id = 8 ;
    +--------+-------------------+
    | name   | char_length(name) |
    +--------+-------------------+
    | 汪云   |                 6   |
    +--------+-------------------+
    1 row in set (0.00 sec)
    
    • 数学函数例子
    # 输出偶数行 行号和用户名
    mysql> select id , name  from tarena.user where  mod(id,2) = 0 ;
    +----+-----------------+
    | id | name            |
    +----+-----------------+
    |  2 | bin             |
    |  4 | adm             |
    |  6 | sync            |
    |  8 | halt            |
    +----+-----------------+
    4 rows in set (0.00 sec)
    
    • 日期时间函数例子
    # 输出当前时间
    mysql> select now();   
    +---------------------+
    | now()               |
    +---------------------+
    | 2021-10-12 09:27:39 |
    +---------------------+
    1 row in set (0.00 sec)
    
    # 获取当前年份
    mysql> select year(now());
    +-------------+
    | year(now()) |
    +-------------+
    |        2021 |
    +-------------+
    1 row in set (0.00 sec)
    
    • 聚集函数例子
    # 输出uid列的最小值和最大值
    mysql> select min(uid),max(uid) from  tarena.user;
    +----------+----------+
    | min(uid) | max(uid) |
    +----------+----------+
    |        0  |    65534 |
    +----------+----------+
    1 row in set (0.00 sec)
    
    # 统计使用解释器/sbin/nologin 用户的个数
    mysql> select count(name) from  tarena.user where shell="/sbin/nologin";
    +-------------+
    | count(name) |
    +-------------+
    |          19 |
    +-------------+
    1 row in set (0.01 sec)
    

    相关文章

      网友评论

        本文标题:Select进阶查询·常用函数

        本文链接:https://www.haomeiwen.com/subject/bwcucdtx.html