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,就变成了----
[^-]是正则表达式。