日期:2014-05-16  浏览次数:20486 次

oracle 关于末尾带b和不带b的函数结果比较

选择函数substr和substrb比较

差别在于substr按照字符(char)来比较,substrb按照比特位(byte)来比较。

?

select substr('ありません', 1, 5) from dual;

?

SUBSTR('ありません',1,5)
------------------------------
ありません

?

?

select substrb('ありません', 1, 5) from dual;

?

SUBSTRB('
----------

?

select substrb('ありません', 1, 6) from dual;

SUBSTRB('あ
------------
あり

?

?

日文字符占三个byte,截取的时候,substrb是从第一位开始截取6个byte的字符。

substr是从第一个字符开始截取6个字符。