数据库字段varchar-byte类型的问题 数据库中某张表的一个字段,类型为Varchar2(30 Byte),我想知道这样可以存储多少个英文字线,或多少个中文字母?为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 varchar2是Oracle中的吧? 1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,大部分情况下建议使用varchar2类型,可以保证更好的兼容性。针对你的问题,Varchar2(30 Byte)可以存30个英语字母,15个中文字 如果是SQL SERVER的话varchar(30)能存储15个汉字,30个字母。 declare @t varchar(30)set @t=replicate('中国',20)select @t/*中国中国中国中国中国中国中国中*/declare @m varchar(30)set @m=replicate('abcde',20)select @m/*abcdeabcdeabcdeabcdeabcdeabcde*/SQL SERVER 中varchar(30) 能存储30个字母或是15个汉字。在Oracle中的varchar2(30)我估计也是一样的,你可以自行测试一下。 sql 不同服务器间访问 定时删除10分钟以前的数据库记录 设计难题:领导的方案和我的方案哪种更优? 这条SQL语句错在哪里? 修复数据库,请帮忙. [email protected] 密码299981 有一个数据库,数据库中的存储过程被加密了,解密代码解的有问题,欢迎大家挑战 该函数该怎么写? 帮忙啊,大侠!!游标问提.. ### icevi(按钮工厂)、KingSunSha(弱水三千)请进来,问题:如何有效保护MDB数据库 # 新手,求sql,大虾帮忙! 请教各位大大,有没有用于SQLSERVER2008 MSDE? 关于主键、标识列
2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
大部分情况下建议使用varchar2类型,可以保证更好的兼容性。针对你的问题,Varchar2(30 Byte)可以存30个英语字母,15个中文字
declare @t varchar(30)
set @t=replicate('中国',20)
select @t
/*
中国中国中国中国中国中国中国中
*/
declare @m varchar(30)
set @m=replicate('abcde',20)
select @m
/*
abcdeabcdeabcdeabcdeabcdeabcde
*/SQL SERVER 中varchar(30) 能存储30个字母或是15个汉字。
在Oracle中的varchar2(30)我估计也是一样的,你可以自行测试一下。