欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

程序员文章站 2022-04-09 23:05:53
...
注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数。

1、concat连接字符串:

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

11、去除字符串的空格:

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

12、insert字符串替换:

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

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

13、replace替换字符串:

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

与上边不同的是,这里不是指定位置和长度,而是直接指定一个字符串,如果这个字符串不存在原字符串中,则替换失败。

以上就是mysql常用基础操作语法(十一)~~字符串函数【命令行模式】的内容,更多相关内容请关注PHP中文网(www.php.cn)!