oracle和字符编码

时间:2014-10-14 17:22:44

标签: sql oracle character-encoding character

最高和最低字符编码是什么?以下是需要的情况。

我有一个用户表单,用户输入数据,例如last_name。他们可以选择将此字段留空。当它留空时,在sql运行后的后台

select em_id from em
 where (last_name < user_entered_value)
   and (first_name > user_entered_value)

当用户输入任何内容时,我们会进行空比较。我可以用NVL替换上面,但我需要知道最低和最高字符编码才能获得正确的结果集。例如&#39; ZZZ&#39;需要用最高字符编码替换,我不知道那是什么。

select em_id from em 
 where (last_name < NVL(user_entered_value,'ZZZ'))
   and (first_name > NVL(user_entered_value,'A'))

提前致谢,
布鲁斯

2 个答案:

答案 0 :(得分:0)

也许LNNVL在这里是更好的解决方案:

select em_id from em
 where LNNVL(last_name >= user_entered_value)
   and LNNVL(first_name <= user_entered_value)

答案 1 :(得分:0)

决定使用&#34;为空&#34;代替:

从em中选择em_id  where(last_name&lt; user_entered_value或user_entered_value为null)    和(first_name&gt; user_entered_value或user_entered_value为空)