这是我对Oracle的实验
create table xxx (a varchar2(10), b nvarchar2(20))
insert into xxx values(N'严並', N'严 並 丧')
insert into xxx values('严並', '严 並 丧')
select * from xxx
返回
a b
严並 严 並 丧
严並 严 並 丧
虽然当我尝试插入'并丧并并'时,确实说我的列a
的值太大,但它仍然会插入较小的值。
在Sql Server中,结果完全不同。在Sql Server中,您必须使用N
前缀
a b
?? 严 並 丧
?? ? ? ?
是否意味着Oracle中不需要前缀N
,或者它取决于字符集设置?
并且,这是否意味着Oracle,基本上仍然找到了如何在通常不为其设计的字段中存储“大”字符的方式?
谢谢
答案 0 :(得分:0)
您的专栏“a”有长度限制。 您可以在下面执行sql来检查它:
select lengthb('並丧並並') from dual; --12
不同操作系统和我的不同结果是12。