SQL server数据库计算字符长度用datalength(函数),写法如下:select * from xxx where datalength(xx)=4,表示数据库里字符个数等于2个,依次类推,找出长度为10个字符串的话,datalength(xx)=20 不知道是不是每个字符都占2个位置.
一个汉字占两个字符,而一个空格只占一个字符..
最简单的你可进入sql server 并到database 选择相关 数据名点选设定 char field.
.NET 字符串使用Unicode编码,不论英文中文,每个字符占用2个字节储存空间,而Length属性返回字符数量,而不是存储空间.在SQL Server中,varchar()数据类型中指定的长度是存储空间的字节数.例如:varchar(10),最多分配10个字节的存储空间,可以存储10个ascii 字符,只能存储5个汉字.
len(字段名) select len('abc')输出3select len('abcde')输出5
LEN 返回给定字符串表达的字符数parameter 表达式varchar|nvarcharreturns integer|bigintSELECT LEN('abcdefg')--7SELECT LEN(N'abcdefg')--7SELECT LEN('')--0SELECT LEN('中国人')--3
Copy(st.pos.num);//返回st串中一个位置pos(整型)处开始的,含有num(整型)个字符的子串.如果pos大于st字符串的长度,那就会返回一个空串,如果pos在255以外,会引起运行错误.例如,st:='Brian',则Copy(st,2,2)返回'ri' 这是取其中的几个字符 取字符传长度用length or len 这个和你用的数据库有关
如果你的SQL是SQL2000varchar最长长度可以是8000,如果是SQL2005以上版本可以支持varchar(max),最长可达2G的字段容量数据你可以试试,也许你的1024还是不够.
declare @t as table (id int identity(1,1), txt nvarchar(128)) insert into @t (txt) values ('一心一意') insert into @t (txt) values ('挂羊头卖狗肉') insert into @t (txt) values ('三心二意') select * from @t where len(txt)=4
在创抄建这个学号的字段时,增加约束就行啊.举例:create table 表名(学号列zhidao number(5) check (length(学号列)=5));insert into 表名(学号列)values(222);失败insert into 表名(学号列)values(12345);成功学号列12345