您的位置:首页 > 数据库

sql中,regexp_replace、lengthb分别是什么意思?

2017-02-21 16:49 330 查看
sql语句如下:

 select 

case 

when lengthb(regexp_replace(t.org_code,'[^-]',null))>2 then '已提交' 

end as flag

from organ t

======

1)lengthb和length区别是

  区别:

length求得是字符长度

lengthb求得是字节长度。

用法(下面例子中第一个是4个字符长度,第二个例子中是8个字节):

SQL> select length('新春快乐') from dual; 

LENGTH('新春快乐') 

------------------ 

                 4 

SQL> select lengthb('新春快乐') from dual; 

LENGTHB('新春快乐') 

------------------- 

                  8

2)regexp_replace(t.org_code,'[^-]',null)什么意思?

意识是将t.org_code中,不为‘-’的部分,用null来代替。



1-1,就变成了-

1-1-1,就变成了--

1-1-1-1-1,就变成了----

[^-]是正则表达式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: