社区
MS-SQL Server
帖子详情
MSSQL中如何正确取出中文字段的长度
Bald_eagle
2000-10-10 11:49:00
我们现在正在开发的程序中有一单位名称字段,里面既可输入中文又可能输入英文字符,需要取出这个字段的长度,字段名为A02,我们现在使用 LENGTH(A02)函数取其长度,要求LENGTH(A02)>= 8 ,在程序中使用时,不能正确计算中文的字段长度。如我们输入4个汉字并回车后,程序总是提示“字符个数小于8”这个错误信息,若直接输入8个英文字符,则不提示错误信息。我们想了一些办法,没能解决。
恳请专家为我们解答,谢谢!
...全文
647
6
打赏
收藏
MSSQL中如何正确取出中文字段的长度
我们现在正在开发的程序中有一单位名称字段,里面既可输入中文又可能输入英文字符,需要取出这个字段的长度,字段名为A02,我们现在使用 LENGTH(A02)函数取其长度,要求LENGTH(A02)>= 8 ,在程序中使用时,不能正确计算中文的字段长度。如我们输入4个汉字并回车后,程序总是提示“字符个数小于8”这个错误信息,若直接输入8个英文字符,则不提示错误信息。我们想了一些办法,没能解决。 恳请专家为我们解答,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lhulan
2000-11-21
打赏
举报
回复
非常感谢,让我也学了一招。
Bald_eagle
2000-11-20
打赏
举报
回复
不好意思,前一段时间太忙,没时间上网。其实这个问题已经解决了,可以使用ms-sqlserver中的系统函数datalength()来实现。
argent_huang
2000-10-14
打赏
举报
回复
我想到了,用 LEN 加 LENB 函数。
LENB(STRING)-LEN(STRING) 得到真实的字节数。
good luck to you
argent_huang
2000-10-14
打赏
举报
回复
不知你的问题是否已经解决,我有一个方法。
汉字ASCII码为负数。
你那里只需分别判断八个字符是否为负数再LEN()就可以了。
但我的程序要判断上万个字符。
不知你有否好方法赐教赐教?
Bald_eagle
2000-10-11
打赏
举报
回复
不好意思,没有把问题说清楚。我要问的是如何在SQL SERVER中正确的返回字符串的长度,
字符串中既有中文,也有西文。
我使用的是SQL SERVER 7.0
实际上就是chump兄所说的问题。
chump
2000-10-10
打赏
举报
回复
不知你使用SQL什么版本,我用2000测试如下:
假如A2长度为10,则A2中能保存5个汉字、10个英文字符或2汉字+6个英文字符(其它有多种组合,但汉字算两个字符,英文算一个,总长度不超过10个):
len('0123456789')=10
len('为人民服务')=5
len('你好123456')=8
所以测试结果发现,len函数在计算长度时不论汉字或英文每个长度均为1,不知是否为BUG?否则自己做个函数,区分中英文分别计算!
my
sql
查询一个
字段
的最大
长度
一 查询总记录数 select count(*) from a.b(表名的意思); 二 查询所有
字段
中
最大
长度
的
字段
select max(length(name)) from a.b
my
sql
修改
字段
长度
命令_值得收藏:一份非常完整的 My
SQL
规范
my
sql
修改
字段
长度
命令_值得收藏:一份非常完整的 My
SQL
规范 一、数据库命令规范 二、数据库基本设计规范 三、数据库
字段
设计规范 四、索引设计规范 五、常见索引列建议 六、如何选择索引列的顺序 七、避免建立冗余索引和重复索引 八、优先考虑覆盖索引 九、索引SET规范 十、数据库
SQL
开发规范 十一、数据库操作行为规范 一、数据库命令规范 ·所有数据库对象名称必须使用小写字母并用下划线分割 ·所有数据库对象名称禁止使用my
sql
保留关键字(如果表名
中
包含关键字查询...
my
sql
含
中
文
字段
substr
想要截取 ‘
中
文
’,使用length
my
sql
中
查询
字段
中
包含某个字符
My
sql
查找如何判断
字段
是否包含某个字符串 有这样一个需求,在My
sql
数据库字符串
字段
(权限)
中
,用户有多个不同的邮箱,分别被‘,’分开,现在要
取出
某个邮箱的所有成员列表。 My
sql
中
有些
字段
是字符串类型的,如何查找其
中
包含某些字符的记录呢? 方法一 很简单可以用%来实现 比如 1 SELECT *FROM usersWHERE emailslike "%b@email.com%"; 但是这样子的话就会把bb@...
My
Sql
中
float类型的
字段
的查询
在MY
SQL
中
,
字段
类型为FLOAT的
字段
,如果不指定FLOAT的
长度
和小数点位数,要根据FLOAT
字段
的值精确查找,结果会是空,这也是初学者经常会犯的一个错误。我们下来看一些例子: CREATE TABLE `NewTable` ( `id` int(11) NOT NULL AUTO_INCREMENT , `c1` float(3,2) NOT NULL , `c2` float NOT NULL , `c3` decimal(10,0) NOT NULL , `c4` decimal(
MS-SQL Server
34,587
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章