使用函数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)返回的是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)