加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

字符串函数

发布时间:2020-12-14 03:22:04 所属栏目:大数据 来源:网络整理
导读:1.char_length(),length(),bit_length() select char_length( ‘ abc ‘ ),length( ‘ abc ‘ ),bit_length( ‘ abc ‘ ); + -- ------------------+---------------+-------------------+ | char_length( ‘ abc ‘ ) | length( ‘ abc ‘ ) | bit_length(

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,uio) |
+----------------------------+
| auioef                     |
+----------------------------+

?

uio的长度只是刚好等于3

?

select insert(abcdef,hjklo);
+------------------------------+
| insert(abcdef,hjklo) |
+------------------------------+
| ahjkloef                     |
+------------------------------+

?

将s1的子字符串‘bcd‘用s2字符串‘hjklo‘替换

?

 select insert(abcdef,h);
+--------------------------+
| insert(abcdef,h) |
+--------------------------+
| ahef                     |
+--------------------------+

?

?3.填充字符串函数lpad(s1,s2)

将s2填充到s1的开始处,使s1长度达到len

select lpad(abc,5,qw);
+--------------------+
| lpad(abc,qw) |
+--------------------+
| qwabc              |
+--------------------+

?

?

 select lpad(abc,qwerty);
+------------------------+
| lpad(abc,qwerty) |
+------------------------+
| qwabc                  |
+------------------------+

?

不会填充s2的全部,仅获取s2的‘qw‘部分

?

select lpad(abc,6,qw) |
+--------------------+
| qwqabc             |
+--------------------+

?

仅填充一次s2无法达到长度6,则重复填充s2

首先将s1的长度用空白字符填充到6,然后逐个取s2的字符从左边开始填充空白符

?

select lpad(abcdef,qw);
+-----------------------+
| lpad(abcdef,qw) |
+-----------------------+
| ab                    |
+-----------------------+

?

需要达到的长度实际比s1小,则s1被截取

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读