Oracle 查询中的字符串比较

Ins*_*nia 3 sql oracle select

我有两个字符串,想知道,在按字母顺序排序的列表中,字符串 2 是否在字符串 1 之前,是否相同,或者在字符串 1 之后。

类似于 MySql 的东西STRCMP (string1, string2)

是否有某种不太流行的内置函数,或者我应该使用非函数方法手动比较每个字符(如果这甚至相当大)?

提前致谢。

Gor*_*off 5

是的<。您可以使用布尔比较器来获得“字母”排序。我将其放在引号中,因为它取决于字符串的排序规则,但通常是合理的。

在一个where条款中:

where string1 < string2
Run Code Online (Sandbox Code Playgroud)

如果您想要一个值,那么这在 Oracle 和 MySQL 中都适用:

select (case when string1 < string2 then 1 else 0 end) as string_compare_flag
Run Code Online (Sandbox Code Playgroud)