zoukankan      html  css  js  c++  java
  • 0609mysql基础:内置函数

    mysql内置函数(对查出的列进行操作)

    对字符串的操作============================================================================

    一、字符串截取

      1、left('absd',3) = abs:截取左边三个字符
      2、right('absd',3) = bsd:截取右边三个字符
      3、substring('sqlstudy.com', 4) = study.com:从字符串的第 4 个字符位置开始取,直到结束。
      4、substring('sqlstudy.com', 4, 2) = st:从字符串的第 4 个字符位置开始取,只取 2 个字符。
      5、substring('sqlstudy.com', -4) = .com:从字符串的倒数第 4 个字符位置开始取,直到结束。
      6、substring('sqlstudy.com', -4, 2) = .c:从字符串的倒数第 4 个字符位置开始取,只取 2 个字符。

    二、大小写转换
      1、LOWER('abcDE你好') = abcde你好:字符串转小写
      2、UPPER('abcDE你好') = ABCDE你好:字符串转大写
    三、返回长度
      1、length(列名)
      2、select length(sname) from student;
    四、字符串连接
      1、concat()函数可以连接一个或者多个字符串、返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
      concat(列1,列2,'str1')、select concat(sname,'性别是',ssex) from student

      2、CONCAT_WS是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。

      concat_ws(separator,str1,str2)

      separator是在str1与str2连接中间显示的自定义字符
      select  concat_ws('---',sname,ssex) from student

      3、group_concat()分组拼接函数

      group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
    五、字符串替换
      1、insert(str,start,len,newstr)返回str,其起始于start位置,长度为len的子串被newstr取代。
      insert('abcdefg',2,4,'hello') 从b开始数4位(bcde) 把bcde替换成hello
      2、replace(str,a,b) 在字符串str中用字符串b替换所有的字符串a
      也可以用来去除字符串中的空格
    六、删除空格
            1、删除字符串的左边空格:ltrim(列)
            2、删除字符串的右边空格:rtrim(列)
            3、删除字符串两边的空格:trim(列)
    七、比较
            strcmp(s1,s2):如果S1比S2小,返回-1;如果S1比S2大则返回1;如果相等则返回0
    八、填充
            1、左填充:lpad(str,n,pad)用pad对字符串str从最左边进行填充,直到总长度达到n
            2、右填充:rpad(str,n,pad)  用pad对字符串str从最右边进行填充,直到总长度达到n
            select lpad(sname,4,'abc') from student
    九、重复
            repeat(str,count):返回str重复count次得到的新字符串:select repeat(sname,4) from student
    数学函数=================================================================================
    一、Abs()返回一个数的绝对值:select abs(age) from users;
    二、Rand()返回0~1之间的随机数
    三、Count()不指定列时包括所有的值,指定列时不包括NULL值的列。
    四、Min()不包括NULL值的列。
    五、Max()不包括NULL值的列。
    六、Avg()不包括NULL值的列。
    七、ceil(x)返回大于x的最小整数
    八、floor(x)返回小于x的最大整数
    九、truncate(n,m)返回数字n被截断为m位小数的数值:select truncate(1.235,2)==》结果为1.23
    日期时间函数=============================================================================
    一、返回当前日期
      1、curdate():返回格式 2018-06-05:select curdate() from student limit 1
           2、curdate()+0:返回格式 20180605省略-的时间格式:select curdate()+0 from student
    二、返回当前日期+时间
            1、now():返回格式 2018-06-05 18:25:26
            2、now()+0:返回格式20180605182526
    三、获取当前时间
            1、curtime():返回格式 18:25:26
            2、curtime()+0:返回格式 182526
    四、把日期格式的数据转换为时间戳返回
            unix_timestamp():select unix_timestamp(sbirthday)  from student
    五、把时间戳转换为时间格式(2018-06-05 18:25:26)返回
            from_unixtime(时间戳)
    六、返回年份
            year(date):返回该日期的年份 2018
    七、返回月份
      1、month(date):返回数字形式的月份
           2、monthname(date):返回英文的月份
    八、返回星期
      1、dayname(date):返回英文的星期几
           2、dayofweek(date)返回数字形式的周几
    九、返回天
      1、day(date):返回数字形式的哪天
         2、返回时间中的小时、分钟、秒
        (1)、hour(date):返回时间中的小时数
        (2)、minute(date):返回时间中的分钟数
        (3)、second(date):返回时间中的秒数
    条件判断===================================================================================
    一、if(value,true,false):如果value值为真,则返回true,否则,返回false
      select if (class > 3000,'Hight','Low') from student
    二、ifnull(value1,value2):如果value1不为空,则返回value1,不然返回value2,可以用来进行空值替换
      select ifnull(sname,'') from student
    三、casewhen [value] then … else …end:如果value值为真,执行then之后的语句,不然执行eles后的语句,不要忘记end!
            select case when class <= 3000  then "Low"  else  "Hight" end from student

      --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END

      --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END
    系统信息函数====================================================================================
    一、database():当前数据库
      select database();
    二、version():当前数据库版本
    三、user():当前登录用户
    加密函数=======================================================================================
    一、password(str):返回加密的str字符串
    二、md5():在应用程序中进行数据加密
    其他函数=======================================================================================
    一、inet_aton(ip) #ip地址的网络字节顺序
      select inet_aton('192.168.139.1');
    二、inet_ntoa #返回数字所代表的ip
      select inet_ntoa(3232271105);

  • 相关阅读:
    农历
    成熟度模型-数据安全
    vscode升级go插件
    关于作者
    SpringBoot入门十二(整合之项目打包部署运行)
    SpringBoot入门十一(整合之RedisTemplate的使用)
    SpringBoot入门十(整合之Junit测试)
    SpringBoot入门九(整合之通用mapper)
    SpringBoot入门八(整合之mybatis)
    SpringBoot入门七(整合之事务和连接池)
  • 原文地址:https://www.cnblogs.com/zhangbaozhong/p/9158368.html
Copyright © 2011-2022 走看看