不知你使用SQL什么版本,我用2000测试如下:
假如A2长度为10,则A2中能保存5个汉字、10个英文字符或2汉字+6个英文字符(其它有多种组合,但汉字算两个字符,英文算一个,总长度不超过10个):
len('0123456789')=10
len('为人民服务')=5
len('你好123456')=8
所以测试结果发现,len函数在计算长度时不论汉字或英文每个长度均为1,不知是否为BUG?否则自己做个函数,区分中英文分别计算!
假如A2长度为10,则A2中能保存5个汉字、10个英文字符或2汉字+6个英文字符(其它有多种组合,但汉字算两个字符,英文算一个,总长度不超过10个):
len('0123456789')=10
len('为人民服务')=5
len('你好123456')=8
所以测试结果发现,len函数在计算长度时不论汉字或英文每个长度均为1,不知是否为BUG?否则自己做个函数,区分中英文分别计算!
字符串中既有中文,也有西文。
我使用的是SQL SERVER 7.0实际上就是chump兄所说的问题。
汉字ASCII码为负数。
你那里只需分别判断八个字符是否为负数再LEN()就可以了。
但我的程序要判断上万个字符。
不知你有否好方法赐教赐教?
LENB(STRING)-LEN(STRING) 得到真实的字节数。
good luck to you