当前位置: 首页 > 面试题库 >

oracle中字符串比较的问题

姬博瀚
2023-03-14
问题内容

我正在阅读oracle的基础知识,并遇到了奇怪的陈述。我不知道这是真的。

声明说

“字符串值‘2’大于字符串值‘100’。字符‘1’小于字符‘10’。”

请就上述话题发表一些看法。我了解必须使用ASCII值进行内部比较。我正在寻求一些合理的解释。


问题答案:

这意味着被视为字符串的数字不是按 数字顺序 而是按 词汇顺序排序 ,这与字典中单词的排序方式相同。即,从左侧一次比较一个字符。

在您的第一个示例中,“ 2”大于“ 100”,因为将“ 2”与“ 1”进行比较并发现更大。将此与字典中“ C”和“ BAA”的顺序进行比较。

在您的第二个示例中,“ 1”小于“ 10”,因为“ 1”与“ 10”左侧的“ 1”完全匹配,但是“
10”在匹配之后有字符。因此,它更大。同样,将其与字典中“ B”和“ BA”的顺序进行比较。



 类似资料:
  • 问题内容: 我需要查询表中给定字符串的值。该表区分大小写,但我想在比较中执行ToLower()。 假设我有一个包含以下数据的类表。 我的查询应该是这样的 这是进行比较的最佳方法吗? 更新 我无法控制数据库或数据。我是只读用户。 问题答案: 不; 最好改善数据:创建一个数字ID,以表示这些看似毫无意义的类变体(可能还有一个相关的查找表来获取ID)。使用where子句中的ID列,您应该找到一个索引数字

  • 问题内容: 我在何时遇到oracle的问题。 该查询始终返回null,尽管很明显结果应该是第一种情况。我是否缺少有关oracle中字符串比较的内容? 问题答案: 您要再次检查字符串和一个空字符串,从而出现问题;在Oracle中,您最好检查一下您的字符串: 关于Oracle处理空字符串和空值的方式,在这里您可以找到更多信息 一个例子: 给出: 简而言之,谈论时,您可以依靠的唯一支票是:

  • 问题内容: 给我输出: 我不太了解第一行,为什么它会给我带来错误? 如果我在字符串2上添加空格,则此行为false,但如果不添加空格,则为true: 为什么第1行给我假,但第6行为真,但是如果我在string2上添加空格则为假。 谢谢=) 问题答案: 那里发生了几件事。 当您将两个字符串声明为相等的“ Hi”时,java将对其进行优化以引用相同的字符串对象(因此不必将相同的字符串存储两次)。 “

  • 问题内容: “按字典顺序比较两个字符串”是什么意思? 问题答案: 从@Bozho和@aioobe的答案出发,字典比较类似于在字典中可能会发现的顺序。 Java String类提供了该方法以便按字典顺序比较String。这样使用。 此方法的返回int值可以解释如下: 返回<0,则调用该方法的String按字典顺序排在首位(在字典中排在首位) 返回== 0,则这两个字符串在字典上等效 返回> 0,然后

  • 问题内容: 我听说散列(即将字符串或对象转换为数字)用于字符串等,因为比较数字比字符串更容易。如果为真,这是什么原因? 问题答案: 不一定是这种情况,但大多数时候可能是这样。 请考虑以下情况: 我想比较字符串“ apples”和“ oranges”。如果我只想确定“ apples” ==“ oranges”,我只需要比较每个字符串的第一个字符:’a’!=’o’=>“ apples”!=“ oran

  • 我有问题。我做了这个练习,但是我不知道如何在我的代码中解决最后三个问题。我需要打印失败,但我不能得到,因为我只得到OK OK,如果这就是全部。 有什么建议吗??