length函数
比如:
select length('12345') from dual;再比如:
select length('你好') from dual;Copy(stposnum);//返回st串中一个位置pos(整型)处开始的,含有num(整型)个字符的子串。如果pos大于st字符串的长度,那就会返回一个空串,如果pos在255以外,会引起运行错误。例如,st:='Brian',则Copy(st,2,2)返回'ri'
这是取其中的几个字符
取字符传长度用length or len
这个和你用的数据库有关
看你字段有多少个字,取最大的就行了
有汉字用nvarchar,一个汉字算1个字
全英文数字半角符号用varchar,一个字母算一个字
如果非要用varchar装汉字,一个汉字算2个字
1、首先指出一点,是datalength不是datelength
2、这两个函数的区别类似于oracle数据库中的lengthb何length,虽然返回的都是一个长度值,可是意义不一样,如:
select
datalength('张三');
--返回4,因为一个汉字占两个字节
select
len('张三');
--返回2,把一个汉字当做一个字符
select
datalength('AB');
--返回2,因为一个英文占一个个字字节
select
len('AB');
--返回2,把一个汉字当做一个字符
3、扩展:oracle中的
lengthb何length也是这个效果
4、由上面所说,这两个函数的区别主要是:
datalength:返回字节长度。
length:返回字符长度。
---
以上,希望对你有所帮助。
各个数据库有不同,列出常用的3种数据库的
:
sqlserver:
LEN:返回指定字符串表达式的字符(而不是字节)数,其中不包含尾随空格。
DATALENGTH:返回用于表示任何表达式的字节数。
mysql:
length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符
char_length:不管汉字还是数字或者是字母都算是一个字符
oracle:
lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节
length(string)计算string所占的字符长度:返回字符串的长度,单位是字符
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)