我将字符串更新为长度为 35 的列到两个表中
第一个表更新成功,但第二个表给出 ORA 错误 ORA-12899 错误字符串太大
select length('Andres Peñalver D1 Palmar Sani salt') bytes from dual;
BYTES
----------
35
select lengthb('Andres Peñalver D1 Palmar Sani salt') bytes from dual;
BYTES
----------
36
两个表 colm1 字段都声明为 VARCHAR(35),第一个表更新失败,第二个成功。
update t
set colm1='Andres Peñalver D1 Palmar Sani Salt'
where value1='123456';
update t2
set colm1='Andres Peñalver D1 Palmar Sani Salt'
where value1='123456';
ORA-12899
select value from nls_database_parameters where parameter='NLS_CHARACTERSET';
VALUE
----------------------------------------------------------------
AL32UTF8
让我知道为什么这些具有相同列类型的表会出现这种行为