-- 按照给定的字节长度截取最大可能的中英文混合字符串,避免了半个汉字的问题 create or replace function substr_gb(str_ varchar2, begin_ integer, length_ integer) return varchar2 is result varchar2(256); begin if length(substrb(str_, begin_, length_)) = length(substrb(str_, begin_, length_ + 1)) then result := substrb(str_, begin_, length_ - 1); else result := substrb(str_, begin_, length_); end if; return result; end substr_gb;