MySQL截取字符串函数之LOCATE、POSITION

MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函

LOCATE(substr,str)
POSITION(substr IN str)

返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:

 代码如下 复制代码
mysql> SELECT LOCATE(’bar’, ‘foobarbar’);
-> 4
mysql> SELECT LOCATE(’xbar’, ‘foobar’);
-> 0

这个函数是多字节安全的。在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 MySQL 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。

 代码如下 复制代码

LOCATE(substr,str,pos)

返回子串 substr 在字符串 str 中的第 pos 位置后第一次出现的位置。如果 substr 不在 str 中返回 0 :

 代码如下 复制代码
mysql> SELECT LOCATE(’bar’, ‘foobarbar’,5);
-> 7

这个函数是多字节安全的。在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 MySQL 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。

综合例子:

 代码如下 复制代码
select info.* from info left join attribute as a on POSITION(CONCAT(substr('00000',1,5-LENGTH(info.fid)),info.fid) IN a.fid) <>0

 

其它的一些截取字符方法

1、从左开始截取字符串
left(str, length)

说明:left(被截取字段,截取长度)
例:

 代码如下 复制代码
select left(content,200) as abstract from my_content_t

2、从右开始截取字符串
right(str, length)

说明:right(被截取字段,截取长度)
例:

 代码如下 复制代码
select right(content,200) as abstract from my_content_t

3、截取字符串
substring(str, pos)
substring(str, pos, length)

说明:substring(被截取字段,从第几位开始截取)
substring(被截取字段,从第几位开始截取,截取长度)
例:

 代码如下 复制代码
select substring(content,5) as abstract from my_content_t
select substring(content,5,200) as abstract from my_content_t

(注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度)

4、按关键字截取字符串
substring_index(str,delim,count)

说明:substring_index(被截取字段,关键字,关键字出现的次数)
例:

 代码如下 复制代码
select substring_index(”blog.chinabyte.com”,”.”,2) as abstract from my_content_t
时间: 2025-01-26 19:12:37

MySQL截取字符串函数之LOCATE、POSITION的相关文章

支持中文和其他编码的php截取字符串函数分享

 这篇文章主要介绍了支持中文和其他编码的php截取字符串函数示例(截取中文字符串),需要的朋友可以参考下 简单的字符串截取方法,支持中文和其他编码,传入相对应的参数直接调用就可以了  代码如下: /**  * 字符串截取,支持中文和其他编码  * @static  * @access public  * @param string $str 需要转换的字符串  * @param string $start 开始位置  * @param string $length 截取长度  * @param

sql语句截取字符串函数

sql语句截取字符串函数 sql截取一段字符串并对该字符串进行替换的方法. 使用sql replace replace 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 replace ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' ) 参数 ''string_replace1'' 待搜索的字符串表达式.string_replace1 可以是字符数据或二进制数据. ''string_

js中截取字符串函数

网页特效中截取字符串函数 function substrdemo(){ var s, ss; // 声明变量. var s = "the rain in spain falls mainly in the plain."; ss = s.substr(12, 5); // 获取子字符串. return(ss); // 返回 "spain". } b = a.substring(start, end); start 表示起始位置,如果其实位置是第一个就填 0 end表

ThinkPHP的截取字符串函数无法显示省略号的解决方法_php实例

对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下: 打开Common/extend.php页面,修改msubstr函数如下: function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_exists("mb_substr")) { if($suffix) { if($str==mb_substr($str, $start, $le

Go语言截取字符串函数用法_Golang

本文实例讲述了Go语言截取字符串函数用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: func Substr(str string, start, length int) string {     rs := []rune(str)     rl := len(rs)     end := 0             if start < 0 {         start = rl - 1 + start     }     end = start + length        

asp 支持中英文的截取字符串函数

<html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>asp 支持中英文的截取字符串函数</title> </head> <body> <% 'txt

两款php 截取字符串函数

提供两款php教程 截取字符串函数,他们能自动识别中文哦,如果你是截取文章这个很不错啊,喜欢就进来看看吧. <?php header ( "content-type:text/html; charset=utf-8" ); function strcut($string, $length, $dot = '...',$charset='utf-8')         { $strlen = strlen($string); if($strlen <= $length) re

php 截取字符串函数(中文字符串)

php教程 截取字符串函数(中文字符串) 这是一款php 截取字符串函数哦,这是一款支持中文字符串哦,它可以截取html与中西文,等混合的内容,并且把html标签不算在字符截取之内,如果html标签没有闭合,程序将自动过滤多余的标签. */ function mysubstr( $str, $length ){         $tagcnt = 0;     $charcnt = 0;     $tag = '';     $maxlen = strlen( $str );     $resu

mysql的字符串函数

mysql|函数|字符串 注意:如果结果的长度大于服务器参数max_allowed_packet,字符串值函数返回NULL 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql> select ASCII('2');         -> 50 mysql> select ASCII(2);         -> 50 mysql>