暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySql操作(1)|字符串

若依框架教程 2021-09-17
377


 若依教程独家分享!点赞+关注,一起从「蒟蒻」变成「大佬」~

1,你想不到的详情页简易写法?

本期内容


小伙伴们,好久不见~ 


众所周知,数据库和前端页面是若依框架的底层,那么我们这次来分享一些常用的SQL查询

2,代码实现

代码微调


left、right

--字符串截取

    -- 字符串截取:left(str, length)
    select left('截取从左往右数指定位数', 1);
    #截取从左往右数指定位数 --: sqls
    复制
      -- 字符串截取:right(str, length)
      select right('sqlstudy.com', 3);
      #截取从右往左数指定位数 --: com
      复制


      substring

      -- 字符串截取:substring(str, pos); substring(str, pos, len)

        -- 1. 从字符串的第 4 个字符位置开始取,直到结束。
        select substring('sqlstudy.com', 4);
        -- : study.com


        -- 2. 从字符串的第 4 个字符位置开始取,只取 2 个字符。
        select substring('sqlstudy.com', 4,2);
        -- : st


        -- 3. 从字符串的第 4 个字符位置(倒数)开始取,直到结束
        select substring('sqlstudy.com', -4);
        -- : .com
        -- 4.从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。
        select substring('sqlstudy.com', -4, 2);
        -- : .c
        复制

        #我们注意到在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。



        substring_index(str,delim,count)

          -- 截取第二个 ‘.’ 之前的所有字符。
          select substring_index('www.sqlstudy.com.cn','.', 2);
          -- : www.sqlstudy


          -- 截取第二个 ‘.’ (倒数)之后的所有字符。
          select substring_index('www.sqlstudy.com.cn','.', -2);
          -- : com.cn


          -- 如果在字符串中找不到 delim 参数指定的值,就返回整个字符串
          select substring_index('www.sqlstudy.com.cn','.coc', 1);
          -- : www.sqlstudy.com.cn


          -- 截取一个表某个字段数据的中间值 如该字段数据为
          select substring_index(substring_index('www.sqlstudy.com.cn', '.', 2) , '.', -1);
          -- : sqlstudy
          复制


          字符串长度LENGTH

            # LENGTH(str)
            -- 计算字符串长度
            复制

            字符串翻转:REVERSE

              # REVERSE(str)
              -- 返回颠倒字符顺序的字符串str。
              select REVERSE('str') ; -- : rts
              复制


              MAKE_SET(bits,str1,str2,…)

              -- 返回一个集合 (包含由“,”字符分隔的子串组成的一个字符串),由相应的位在bits集合中的的字符串组成。str1对应于位0,str2对应位1,等等。在str1, str2, …中的NULL串不添加到结果中。

                select make_set(3,'2','rt','ff');       
                -- : rt
                select make_set(2,'&','');
                复制


                LOWER(str)

                -- 返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成小写。该函数对多字节是可靠的。


                UCASE(str)

                -- 返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成大写。该函数对多字节是可靠的。


                Test

                -- 取中间值

                  select substring_index('www..', '.', 1);
                  select substring_index(substring_index('www..', '.', 2) , '.', -1);


                  set @tj='';
                  select concat_ws(',','123','','123',case when @tj= null then '' end);


                  select concat('123a','---','fff');
                  复制


                  locate

                  -- locate(字符,字段名)函数,如果包含,返回>0的数,否则返回0 ,-- 它的别名是 position in


                    # select * from 表名 where locate(字符,字段)
                    # select * from 表名 where position(字符 in 字段);
                    复制


                    若依框架教程

                    2020.6.10

                    如果想了解更多若依教程,你也可能对这些感兴趣:

                    若依系列文章合集(持续更新中)

                    有意思的技术知识合集(持续更新中)

                    你点的每个好看,我都认真当成了喜欢


                    文章转载自若依框架教程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论