快乐是一切的源泉pantierui.blog.chinaunix.net
pantierui
全部博文(106)
LAPTHW(13)
RPG TNT(2)
Java(2)
RPG编程(28)
解密解密(2)
Qshell(4)
REXX(6)
2014年(1)
2012年(29)
2011年(32)
2010年(20)
2008年(24)
stealer
wxlfh
oyasmi
godbach
finalbsd
albcamus
野百合
xuruopu
故哈
山林溜达
WINSTON1
winniewy
mamei
layyf
huangxks
yutianlt
wfcjz
veeko
分类:
2008-07-17 14:06:19
我们知道字符字段中可以包含大写字符和小写字符, 如何在SQL模糊查询中忽略对大小写字符的处理?例如: SELECT * FROM TABLENAME WHERE FIELDB LIKE 'A%', 希望得到以'A' 或 'a'开头的所有记录.
使用sort sequence table可以解决此类问题. 以下将解释如何使用'SORT SEQUENCE':*系统值QSRTSEQ默认值为*HEX;*用户简要表中SRTSEQ参数默认值为*SYSVAL;*命令STRSQL和CRTSQLxxx中SRTSEQ参数默认值为*JOB.因此,通常OS/400的作业默认的sort sequence值为*HEX, 这就是说, 字符表中的每一个字符都有各自的相对顺序和权重. 例如: 字符'A'的权重为x'C1', 字符'a'的权重为x'81'. 因此任何在字符'A'和'a'之间的比较, 都认为两者不相同. 那么如果希望等同字符'A'和'a'之间的比较, 就需要将两者的权重设置为相同. 将'SORT SEQUENCE'设置为*LANGIDSHR就能达到这样的效果. 设置方法如下:1. STRSQL2. F13 - 服务3. 1 - 改变对话属性4. 向下翻页后找到'Sort Sequence'并将其改为*LANGIDSHR5. 按两次回车键6. 运行一条SQL语句, 例如:SELECT * FROM FILE WHERE FIELD1 LIKE 'A%' 或SELECT * FROM FILE WHERE FIELD1 LIKE 'a%'7. 检查查询结果可以发现, 字段FIELD1以字符'A'和'a'开头的记录都被搜索出来.
上一篇:如何在SQL中使用循环结构
下一篇:关于DDM
登录 注册