记录一些MySQL的系统函数和方法

在百度经验里面发现了和我想写的东西差不多的文章,转载过来,后续再更新自己的 →  百度经验原文

 

本篇主要介绍MySQL自带的各种系统函数

字符串函数

  • 1

    concat():字符串连接;

    concat_ws():使用指定的分隔符进行连接。

    例子:

    SELECT concat("my","_","sql") AS new_col;

    SELECT concat_ws("_","my","sql") as new_col;

    从下面的连接结果可以看出,concat("my","_","sql") 和concat_ws("_","my","sql")是等价的。

    MySQL基础之系统函数

    MySQL基础之系统函数

  • 2

    format():数字格式化。四舍五入,保留小数位数。

    SELECT format(12344.29,1);

    SELECT format(12344.24,1);

    两个的结果如下:

    MySQL基础之系统函数

    MySQL基础之系统函数

  • 3

    lower():字符串转小写

    SELECT lower("HELLO worLD") AS new_col;

    upper():字符串转大写

    SELECT upper("HELLO worLD") AS new_col;

    MySQL基础之系统函数

    MySQL基础之系统函数

  • 4

    left():获取左侧字符串;

    SELECT LEFT("mysql",2) AS new_col;

    right():获取右侧字符串;

    SELECT right("mysql",3) AS new_col;

    注:MySQL是从顺序1 开始

    MySQL基础之系统函数

    MySQL基础之系统函数

  • 5

    length() 获取字符串的长度

    我们先来看非中文的字符串长度

    SELECT length("mysql") as new_col;

    MySQL基础之系统函数

  • 6

    我们再来看下中文字符串的长度,在MySQL 下我试验过,一个中文字符占三个字节:

    SELECT length('我的哈哈')AS new_col;

    utf8 下长度如下:

    MySQL基础之系统函数

    MySQL基础之系统函数

  • 7

    gbk 下其长度如下:

     

    注:修改编码语句:

    alter database db_name character set gb2312;

    MySQL基础之系统函数

    MySQL基础之系统函数

  • 8

    substring()截取一定长度的字符串

     分为两种形式

    SELECT substring("mysql",1,2) as new_col;

    如果第三个参数为空,那么将截取至字符串最后一位

    SELECT substring("mysql",3) as new_col;

    MySQL基础之系统函数

    MySQL基础之系统函数

  • 9

    ltrim()删除前导空格

    rtrim()删除后导空格

    trim()删除空格 

    这几个比较简单,就不一一举例了。

  • 10

    SUBSTRING_INDEX(字段,分隔符,数组的索引)

    该方法主要处理以分隔符进行连接的字段,类似c# 里面的split()方法,将字段按照分隔符分割成数组,第三个参数就是你想要返回数组的第几个值,MySQL是从1 开始计算数组的。

    END

数值运算符和函数

  • 1

    ceil() 向上取整:

    SELECT ceil(3.2) =4;

     

    floor()向下取整:

    SELECT floor(3.6) =3;

     

    round()四舍五入:

    SELECT round(3.6) =4;

    SELECT round(3.2) =3;

     

    div 整数除法 :

    SELECT 3 div 4 =0;

    SELECT 4 div 3 =1;

     

    mod 取余数 :

    SELECT 3 mod 4 =3;

    SELECT 4 mod 3 =1;

     

    power() 幂运算:

    SELECT power(3,2)=9;

    END

日期时间函数

  • 1

    now() 当前日期和时间

     

    curdate() 当前日期 

     

    curtime()当前时间

     

    date_add() 日期变化:

    SELECT DATE_ADD(CURDATE(),INTERVAL 1 DAY);

     

    SELECT DATE_ADD(CURDATE(),INTERVAL -1 MONTH);

     

    datediff() 日期差值计算:

    SELECT DATEDIFF(CURDATE(),"2017-08-08")

     

    date_format()日期格式化:

    SELECT DATE_FORMAT(now(),"%Y年%m月%d日");

    2017年08月18日

    END

信息函数

  • 1

    connection_id()连接id

     

    datebase()当前数据库

     

    last_insert_id()最后插入记录id号,若写入多条,则返回第一条记录的id

     

    user()当前用户

     

    version()版本信息

    END

聚合函数

  • 1

    聚合函数(只有一个返回值)

    avg()平均数

    count()计数

    max()最大值

    min()最小值

    sum()求和

    END

加密函数

  • 1

    md5()信息摘要算法

    password()密码算法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值