如何在SQL模糊查询中忽略对大小写字符的处理

我们知道字符字段中可以包含大写字符和小写字符, 如何在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. STRSQL
2. F13 - 服务
3. 1 - 改变对话属性
4. 向下翻页后找到'Sort Sequence'并将其改为*LANGIDSHR
5. 按两次回车键
6. 运行一条SQL语句, 例如:
SELECT * FROM FILE WHERE FIELD1 LIKE 'A%' 或
SELECT * FROM FILE WHERE FIELD1 LIKE 'a%'
7. 检查查询结果可以发现, 字段FIELD1以字符'A'和'a'开头的记录都被搜索出来.

转载于:https://www.cnblogs.com/wildfish/archive/2008/01/09/1031945.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值