sql 函数length() 和lengthb()的区别

来源:互联网 发布:背四级英语单词的软件 编辑:程序博客网 时间:2024/05/01 01:17
select length('hello world!') from dual;      --12
select length('你好,世界!') from dual;   --6
select length('1234567890') from dual;    --10
select length('!()') from dual;               --3
select length('!()') from dual;                       --3
select length('abcd') from dual;           --4
select length('abcd') from dual;                  --4


select lengthb('hello world!') from dual;     --12
select lengthb('你好,世界!') from dual;  --12
select lengthb('1234567890') from dual;   --10 
select lengthb('!()') from dual;              --6
select lengthb('!()') from dual;                      --3
select lengthb('abcd') from dual;          --8
select lengthb('abcd') from dual;                 --4


length求得是字符长度。  【1个中文、英文字母、数字、中文符号、英文符号、全角符号、空格都算1个字符】

lengthb求得是字节长度。【1个中文=2个字节,1个英文字母=1个字节,1个数字=1个字节,1个英文符号=1个字节,1个全角符号=2个字节,1个空格=1个字节】


而由于数据库的字段长度指的是字节长度,所以为避免保存字段值长于字段的最大长度导致保存数据失败的情况,所以一般需要先校验字段值的字节长度是否长于表字段的最大值,这时候应使用lengthb()函数来获取字段值的字节长度。

0 0
原创粉丝点击