如果数据库中存在大小写的字段,而我们在选择数据的时候没有注意,那么就有可能有一些数据被我们忽略,这是客户不能接受的.我曾经写过一篇关于如何处理自建表区分大小写的文章,可以解决自建表的问题,但是还是有可能和用户输入的有冲突.
首先你可以参阅我的那篇文章:How to avoid lower case text convert to upper case in custom table
举例来说,如果数据库中存取的是Hello World,我们想把这条数据选取出来,那么我们必须输入与其完全相同的内容,如果使用模糊查询的话,也要该大写的大写,该小写的小写,否则不能选择出相应的数据.
而对于客户来说,他可能根本不会关心大小写,比如,他想输入HELLO WORLD就把这条数据选择出来,这样我们该如何处理呢?
OPEN SQL可能无法完成这个任务,于是我们可以尝试一下Native SQL.
使用方法:
TRANSLATE ls TO UPPER CASE. “不管输入的东西是大写还是小写,全部转成大写(注意,你要确定是否真的大小写都可以)
EXEC SQL PERFORMING append_itab.
SELECT * FROM <dbtable> INTO :wa
WHERE upper(<select_field>) EQ :ls
ENDEXEC.
form append_itab.
append wa to itab.
endform
这也算是一个小小的tips吧,希望对大家有用.
No Comments