字符串函数
Posted bibiafa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串函数相关的知识,希望对你有一定的参考价值。
1.char_length(),length(),bit_length()
select char_length(‘abc‘),length(‘abc‘),bit_length(‘abc‘); +--------------------+---------------+-------------------+ | char_length(‘abc‘) | length(‘abc‘) | bit_length(‘abc‘) | +--------------------+---------------+-------------------+ | 3 | 3 | 24 | +--------------------+---------------+-------------------+
char_length()获取字符串的字符数
length()获取字符串的字节数,不包括 字节
bit_length()获取字符串的bit位数
select char_length(‘我‘),length(‘我‘),bit_length(‘我‘); +--------------------+---------------+-------------------+ | char_length(‘我‘) | length(‘我‘) | bit_length(‘我‘) | +--------------------+---------------+-------------------+ | 1 | 3 | 24 | +--------------------+---------------+-------------------+
字符串"我"是一个字符,但是汉字的我占三个有效字节,总共24bit位
2.替换字符串函数insert(s1,x,len,s2)
将字符串s1从x位置开始,长度为len的字符串用s2来替换。len的长度和s2字符串的长度没有匹配关系
select insert(‘abcdef‘,2,3,‘uio‘); +----------------------------+ | insert(‘abcdef‘,2,3,‘uio‘) | +----------------------------+ | auioef | +----------------------------+
uio的长度只是刚好等于3
select insert(‘abcdef‘,2,3,‘hjklo‘); +------------------------------+ | insert(‘abcdef‘,2,3,‘hjklo‘) | +------------------------------+ | ahjkloef | +------------------------------+
将s1的子字符串‘bcd‘用s2字符串‘hjklo‘替换
select insert(‘abcdef‘,2,3,‘h‘); +--------------------------+ | insert(‘abcdef‘,2,3,‘h‘) | +--------------------------+ | ahef | +--------------------------+
3.填充字符串函数lpad(s1,len,s2)
将s2填充到s1的开始处,使s1长度达到len
select lpad(‘abc‘,5,‘qw‘); +--------------------+ | lpad(‘abc‘,5,‘qw‘) | +--------------------+ | qwabc | +--------------------+
select lpad(‘abc‘,5,‘qwerty‘); +------------------------+ | lpad(‘abc‘,5,‘qwerty‘) | +------------------------+ | qwabc | +------------------------+
不会填充s2的全部,仅获取s2的‘qw‘部分
select lpad(‘abc‘,6,‘qw‘); +--------------------+ | lpad(‘abc‘,6,‘qw‘) | +--------------------+ | qwqabc | +--------------------+
仅填充一次s2无法达到长度6,则重复填充s2
首先将s1的长度用空白字符填充到6,然后逐个取s2的字符从左边开始填充空白符
select lpad(‘abcdef‘,2,‘qw‘); +-----------------------+ | lpad(‘abcdef‘,2,‘qw‘) | +-----------------------+ | ab | +-----------------------+
需要达到的长度实际比s1小,则s1被截取
以上是关于字符串函数的主要内容,如果未能解决你的问题,请参考以下文章