数据库的字符串处理利器之SUBSTRING_INDEX()

数据库的字符串处理利器之SUBSTRING_INDEX(),第1张

使用函数SUBSTRING_INDEX()根据指定分隔符切割,分隔符可以是字符串等。

语法 :substring_index(str,delim,count)

说明 :

str:被截取字符串

delim:分隔符,截取时依据的关键字,区分大小写

count:从第几个分隔符开始截取

count如果为正数,则返回第count个分隔符左侧的所有内容(从左到右截取);如果为负数,则返回第count个分隔符右侧的所有内容(从右到左截取)。

例:

(1)如果count是正数,那么就是从左往右数,第N个 分隔符 的左边的全部内容

(2) 相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,

(3)取中间的某个值

从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:

SQL的SUBSTR 函数的使用方法介绍

SUBSTR函数是用来截取数据库某一列字段中的一部分。

在各个数据库的函数名称不一样(真是蛋疼,后发明的数据库难道不能同先发明的一样吗?)

复制代码 代码如下:

MySQL: SUBSTR( ), SUBSTRING( )

Oracle: SUBSTR( )

SQL Server: SUBSTRING( ) ;

常用的方式是:

SBUSTR(str,pos);

就是从pos开始的位置,一直截取到最后。

还有一种比较常用的'是:

复制代码 代码如下:

SUBSTR(str,pos,len);

这种表示的意思是,就是从pos开始的位置,截取len个字符(空白也算字符)。

需要注意的是:如果pos为1(而不是0),表示从第一个位置开始。

这点也很好理解,因为数据库不是我们平时写程序,他有他自己的一套习惯,数据库的记录都是从1开始没有从0开始。是吧。 ;

这是字符串定义函数,作用是截选需要的字符串。

substring("abcdefg",2,4) 返回的是abcdefg字符串从第2位的b开始的后4位

也就是到e结束的字符串 即:bcde

不一定要用 SUBSTRING,直接用LIKE更简单

select id,name from kehuxinxi_table where telephone like '%1111'

如果一定要用SUBSTRING 那么,应该用下面类似的语句,不过,这种写法的速度是最慢的,而且还没有考虑长度不够的问题

select id,name from kehuxinxi_table where substring(telephone, 8, 4) = '1111'

字符串截取,substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。

substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。

beginIndex - 起始索引(包括)。从0开始

endIndex - 结束索引(不包括)。

"unhappy"substring(2) returns "happy"

"hamburger"substring(4, 8) returns "urge"

以上就是关于数据库的字符串处理利器之SUBSTRING_INDEX()全部的内容,包括:数据库的字符串处理利器之SUBSTRING_INDEX()、SQL的SUBSTR 函数的使用方法介绍、SQL中substring()函数的作用是什么比如说substring("abcdefg",2,4)返回的是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9736279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存