mysql截取字符串的函数(mysql截取字符串函数的sql语句)
mysql获取字符串长度函数有哪些?
mysql字符串长度函数CHAR_LENGTH(str)
返回值为字符串str
的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集,
LENGTH()返回值为
10,而CHAR_LENGTH()的返回值为5。
mysql字符串长度函数CHARACTER_LENGTH(str)
CHARACTER_LENGTH()是CHAR_LENGTH()的同义词。
mysql字符串长度函数BIT_LENGTH(str)
返回2进制长度.[喝小酒的网摘]
返回表中最长的字符串长度:
SELECT
max(
length(
title
)
)
FROM
verycd_copy
SELECT
*
FROM
admin
WHERE
LENGTH(username)
6
mysql截取字段前几位
有对应函数方法的,MySQL 字符串截取处理函数有left(), right(), substring(),第一个是从左边开始截取,两个参数分别是字段和截取长度,第二正好相反,从右边截取,最后一个方法是指定区间,三个参数控制
mysql怎么样截取字符串
LEFT(字段名,10) AS n1
例如:
SELECT `id`,LEFT(`name`,10) AS n1 FROM members
mysql如何截取一个json字符串
代码如下:
CREATE PROCEDURE sp_str
(
IN p_str VARCHAR(50), /*原始字符串*/
IN p_begin_str VARCHAR(50), /*要匹配的起始字符串*/
IN p_end_str VARCHAR(50)) /*要匹配的结束字符串*/
OUT p_result VARCHAR(50)) /*返回结果*/
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE m_len INT DEFAULT 0;
DECLARE m_index INT DEFAULT 0;
/*计算第一个匹配字符串的索引位置*/
select locate(p_begin_str,p_str)+char_length(p_begin_str) into m_index;
/*计算第一个匹配字符串的长度*/
select locate(p_end_str,p_str,m_index) into m_len;
select SUBSTRING(p_str,m_index,m_len-m_index) INTO p_result ;
END;
执行:
CALL sp_str('[]abcd[12345]aa[]ss','abcd[',']',@result);
返回值 @result 为12345
call sp_str('[]abcd[sdww]aa[]ss','abcd[',']',@result);
返回值 @result 为sdww
如果不用存储过程,可以直接写sql语句实现:
代码如下:
select SUBSTRING(
']abcd[12345]111[]',
locate('abcd[',']abcd[12345]111[]')+CHAR_LENGTH('abcd['),
locate(']',']abcd[12345]111[]',CHAR_LENGTH('abcd['))-
(select locate('abcd[',']abcd[12345]111[]')+CHAR_LENGTH('abcd['))
)
返回值为 12345
关于mysql的函数介绍:
CHAR_LENGTH(str)
返回字符串str的长度。
LOCATE(substr,str)
POSITION(substr IN str)
返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0.
mysql select LOCATE('bar', 'foobarbar');
- 4
mysql select LOCATE('xbar', 'foobar');
- 0
该函数是多字节可靠的。 LOCATE(substr,str,pos)
返回子串substr在字符串str第一个出现的位置,从位置pos开始。如果substr不是在str里面,返回0。
mysql select LOCATE('bar', 'foobarbar',5);
- 7
这函数是多字节可靠的。
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)
MID(str,pos,len)
从字符串str返回一个len个字符的子串,从位置pos开始。使用FROM的变种形式是ANSI SQL92语法。
mysql select SUBSTRING('Quadratically',5,6);
- 'ratica'
该函数是多字节可靠的。
SUBSTRING(str,pos)
MySql截取字符串
如果最后面是4为,那么你取值时,只要把你字符串截取到总长度-4就行了(此条件必须是长度为两位),附SQL:
update
test
set
Name=substring(Name,1,length(Name)-4);
如果后面是任意长度,那么你需要截取到最后一个“[”这里,可以用以下SQL:
SELECT
replace(Name,
REVERSE(LEFT(REVERSE(Name),INSTR(REVERSE(Name),'[')))
,'')
from
test
中间那段是取最后那个[任务数字]的,请收藏。
如何利用MySQL数据库中的字符串函数拼接截取
代码如下:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(commentid, '-', 1), '_',-1) FROM check WHERE commentid = 'content_13-11220-1'
这样就可以少执行一次函数了,当我们运行的数据足够多,那么速度也就显示的很明显了。