免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3832 | 回复: 10
打印 上一主题 下一主题

系统强制在第一个汉字前加空格 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-28 17:32 |只看该作者 |倒序浏览
我公司现在实施ERP﹐使用AS/400﹐在允许输入汉字的地方ERP系统会在第一个汉字前强制加上一个空格﹐也就是说不可能从第一个位置开始输入汉字﹐因此在查询时也无法模糊查询其中的单一汉字﹐只能查询连续的一串汉字。咨询软件方的实施顾问﹐答复说这是AS/400的特点﹐无法改变。
请问确实如此吗﹖我们买的ERP是表驱动的﹐纺织行业的DATATEX﹐通过对表格设置来完成客户化的工作﹐我有印象曾做过设置可以从第一个位置开始输入汉字﹐但是现在却怎样都想不起来﹐是顾问在骗我们﹐还是我记错了﹐盼望有人能够热心指点。

AAA.jpg (65.64 KB, 下载次数: 109)

AAA.jpg

论坛徽章:
0
2 [报告]
发表于 2005-09-28 17:50 |只看该作者

系统强制在第一个汉字前加空格

确实如此

论坛徽章:
0
3 [报告]
发表于 2005-09-28 17:51 |只看该作者

系统强制在第一个汉字前加空格

謝謝。之前用Lotus Notes,SQL Server,第一次接觸AS/400.

论坛徽章:
0
4 [报告]
发表于 2005-09-28 22:02 |只看该作者

系统强制在第一个汉字前加空格

如果要对37,65535的字段进行中文模糊查询,必须充分考虑在单字节环境下对简体中文的处理过程,即把一个双字节字符(加上0E/0F控制码)当作4个字节来处理,而这些字节包含的数据是无法在单字节环境下正确解析的。所以,必须使用16进制的方式来处理。
比如用户要检索的是“系统”的中文模糊查询,则检索的条件必须写成:
Select * from MyPF where  NAME like  SUBST(HEX('系统'),1,5)||'%'
因为0E/0F只出现在双字节字符串的开头和结尾,所以两个汉字需要检索的字符个数是5个。

论坛徽章:
0
5 [报告]
发表于 2005-09-29 08:42 |只看该作者

系统强制在第一个汉字前加空格

那么我如何模糊查詢您所舉例的"系統"中的"統"單個漢字呢﹖

论坛徽章:
0
6 [报告]
发表于 2005-09-29 08:49 |只看该作者

系统强制在第一个汉字前加空格

看来你还是没理解QINGZHOU的回帖。

如果只查询一个汉字“统”,那么第一位也是一样留给OE控制码,此时SUBST函数从第一位开始只检索前3位字节即可(第一位是给OE控制码,第二、第三两位字节是给汉字“统”,因为汉字是双字节):
Select * from MyPF where  NAME like  SUBST(HEX(''),1,3)||'%'

论坛徽章:
0
7 [报告]
发表于 2005-09-29 09:08 |只看该作者

系统强制在第一个汉字前加空格

我的意思是用
Select * from MyPF where  NAME like  SUBST(HEX('统'),1,3)||'%'
可以查詢到"統一"﹑"統歸"﹐但是能夠將查詢"管理系統集成"﹑"國家總統第一公民"也查詢出來嗎﹖

论坛徽章:
0
8 [报告]
发表于 2005-09-29 09:15 |只看该作者

系统强制在第一个汉字前加空格

自己测试实践一下不就出来结果了,体会也很深了。

建议先了解SUBST函数的用法,然后再了解||%的意义。

论坛徽章:
0
9 [报告]
发表于 2005-09-29 09:20 |只看该作者

系统强制在第一个汉字前加空格

顶一下

论坛徽章:
0
10 [报告]
发表于 2005-09-30 10:10 |只看该作者

系统强制在第一个汉字前加空格

我也顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP