比较列值忽略大小写 - Oracle

Compare column value ignoring case - Oracle

我的 table 我从另一个数据库输入数据。该源数据库现在将一列值从 ACTIVE 更改为 Active,因此我的查询没有 return 结果。

我想在查询中忽略大小写来处理这个问题。

我有一个带有 IN 函数的 where 子句,如下所示。

 Select * from myTabble Where mytable.status in ('ACTIVE')

谁能帮我忽略大小写来使用这个查询。我也可以做一件事。从该源插入时,我可以将 Active 变为 ACTIVE。我在 Insert query 中用 upper(sourcedata.status) 尝试过,但没有用。

要忽略大小写,请使用 UPPER(table.mycolumn) in ('UPPERCASE HERE')

如果您在插入查询中使用 upper(sourcedata.status),则行的状态应为 ACTIVE。您仍然可以找到 active 仅用于旧记录,或者如果您有一些其他代码正在填充 table.

无论如何,为了安全起见,您可以在 select 语句中使用 UPPER

SELECT * 
  FROM myTabble 
 WHERE UPPER(mytable.status) IN ('ACTIVE')