zoukankan      html  css  js  c++  java
  • Mysql学习总结(27)——Mysql数据库字符串函数

    注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数。

    1、concat连接字符串:


    从上图中可以看出,直接使用select concat就可以连接任意两个以上的字符串,同时也可以用来连接查询结果,一般情况中也是会用来连接查询结果。需要注意的是,如果连接的内容有null存在的话,那么结果就只会是null。

    2、concat_ws使用分隔符连接字符串:


    在上边的语法中,第一个字符传代表指定的连接格式,其他的代表需要连接的字符串内容。与concat还有所不同的是,这里如果出现null,null会被忽略掉。

    3、strcmp比较字符串的大小:


    如上图可以看到,当第一个字符串小于第二个时返回-1,反之返回1,如果相等则返回0.

    4、length和char_length来获取字符串的长度:


    从图中可以看出length计算的是字节数长度,而char_length计算的是字符数长度。

    5、使用upper或ucase和lower或lcase来实现对英文字符的大小写转换:


    6、find_in_set查找字符串的位置:


    如图可以看到,需要查找的字符串必须满足一定的格式,即需要逗号隔开,因此这里不能理解为子字符串。

    7、使用field查找字符串的位置:


    注意这里和上一个的区别,一个是在同一个字符串中用逗号隔开,而这里是几个字符串。

    8、locate、position和instr查找字符串的位置:


    这里三个的作用基本一样,只是使用的语法略有不同,position要和in结合使用,locate和instr的参数位置相反,都是返回一个字符串中子字符串的位置。

    9、使用elt返回指定位置的字符串,语法格式和field类似:


    10、从现有字符串中截取子字符串:


    其中left指从最左开始截取指定长度的字符串,right是从右开始;substring和mid的第一个数字参数指开始截取的位置,第二个数字参数指截取的长度。

    11、去除字符串的空格:


    ltrim去掉左边的空格,rtrim去掉右边的空格,trim去掉前后的空格,只是这里都不太好看出来。

    12、insert字符串替换:


    如图可以看出,第一个参数为原始字符串,第二个为需要替换的其实位置,第三个表示需要替换的长度,第四个表示用来替换原字符串的新字符串;需要注意的是,当指定的需要替换长度超过剩余长度时会替换所有,当指定的位置刚好是比字符串长度大一时,会把新字符串加到末尾,当指定的位置比字符串长度大2以上时,原字符串不变。

    13、replace替换字符串:


    与上边不同的是,这里不是指定位置和长度,而是直接指定一个字符串,如果这个字符串不存在原字符串中,则替换失败。
  • 相关阅读:
    编译原理实验(NFA转DFA,LL1文法)
    欧几里得算法
    Codeforces Round #697 (Div. 3) A -D 解题报告
    STM32使用SPI驱动WS2812灯带
    读书笔记---<<人月神话>>5
    基于百度和echars接口,实现多点连接
    读书笔记---<<人月神话>>4
    读书笔记---<<人月神话>>3
    软件杯----------害虫地区分布展示
    web页面采用高德地图JS api和Web api实现路径规划
  • 原文地址:https://www.cnblogs.com/zhanghaiyang/p/7212961.html
Copyright © 2011-2022 走看看