2 mantou008 mantou008 于 2016.05.11 21:46 提问

哪位大神指导一下,关于Oracle数据库中类型varchar2(2) 存储汉字的问题

大神们跪求招数:orcale数据库中的一个字段YXQDW(有效期单位) 类型varchar2(2) 才两字节 用来存一个汉字,比如“年”,我的项目(C#)一个汉字占用3个字节, 写SQL语句 insert不进去啊,提示字段范围超出了。难不成要像blob字段那样写?或者有什么更好的方式能将该字段插入呢?万分感激!

1个回答

weixin_34603301
weixin_34603301   2016.05.11 22:05

可以换成nvarchar(2),这个是可变长度

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
oracle varchar2 字符存储长度问题
问题描述: Oracle源表中可存放“中文测试”4个汉字,但经过PowerCenter抽取写入同结构目标表后,中文被截断为2个汉字“中文”。 CREATE TABLE 源表 (   A  VARCHAR2(4 CHAR) )   CREATE TABLE 目标表 (   A  VARCHAR2(4 CHAR) )   解决方案: 该问题是由NLS_LENGTH_SEMAN
Oracle中varchar2(4000)最多能存多少个汉字?
我们都知道,一个汉字占用两个字节,那么Oracle中的Varchar2(4000)到底能存多少个汉字,这个就要看你的数据库编码集,如果是GB2312,存2000个汉字应该没有什么问题,如果你的数据库字符编码集是UTF-8,大概能存1300多一点
oracle varchar2存汉字出现问题
一、场景: 页面的remark备注字段在数据库中的长度为varchar2(4000),jsp页面校验长度的方式为: var valFlag = editForm.validate({ strucName:{name:'措施名称',notEmpty:true,trim:true,maxLength:256}, strategyName:{name:'策略',notEmpty:true,tri
oracle中varchar2(20)中存储中文的问题
-
oracle中的varchar2存放汉字的问题总结
来源:http://blog.chinaunix.net/uid-7240278-id-3209954.html 1. varchar2最大长度为4000字节。 2. varchar2的参数有两个:byte(默认), char 其中varchar2(10 byte)表示为可以最大容纳10个字节的字符串。 varchar2(10 char)表示为可以最大容纳10个
VARCHAR2能存多少个汉字
select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; select length('中') from dual; select lengthb('中') from dual;
请问VARCHAR2(128)能存多少个汉字?
Q:请问VARCHAR2(128)能存多少个汉字?‘ A:看看什么字符集,或者看单个汉字几个字节lengthb Q:请问怎样查看你所提出的两个问题? A:oracle中length()与lengthb()区别 SQL> select length('阿猪') from dual; LENGTH('阿猪') --------------              2 SQL>
oracle数据类型varchar2和varchar的区别
varchar -- 存放定長的字符數據,最長2000個字符; varchar2 -- 存放可變長字符數據,最大長度為4000字符。   1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节; 2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理; 3.VARCHAR2字符要用几个字节
oracle 字段长度设置为varchar2(4000),就一定可以存放2000个汉字吗?
oracle 字段长度设置为varchar2(4000),就一定可以存放2000个汉字吗?答案是不一定,要看数据库的字符集设置成什么了,如果是gb2312,没有问题,如果是utf-8则不能,因为gb2312存放汉字时占两上字节,而utf-8则占用三个字节,所以如果是utf-8则只能存4000/3 = 1300多点
Oracle中CHAR与VARCHAR2的区别
CHAR与VARCHAR2都是Oracle的数据存储格式。CHAR是定长的,VARCHAR2是变长。都可以存储字符串。      需要注意的是使用CHAR的时候。Select查询要注意定长的格式。查询字符串的长度要刚好。多了少了都不能查不到数据。例如字段A为CHAR(10)。存“abcdefg”,长度不满10。Oracle会用空格补满10位。你用"abcefg"作为查询字段时是查不出来的。这就是我...