我的表格从其他数据库提供数据。该源数据库现在将一个列值从ACTIVE
更改为Active
,因此我的查询不会返回结果。
我想通过忽略大小写在查询中处理这个问题。
我有IN
函数的where子句,如下所示。
Select * from myTabble Where mytable.status in ('ACTIVE')
有人可以通过忽略区分大小写来帮助我使用此查询。我也可以做一件事。从该来源插入后,我可以将Active
转为ACTIVE
。我在upper(sourcedata.status)
Insert
中使用query
进行了尝试,但它没有用。
答案 0 :(得分:1)
要忽略大小写,请使用UPPER(table.mycolumn) in ('UPPERCASE HERE')
。
答案 1 :(得分:1)
如果您在插入查询中使用upper(sourcedata.status)
,则应使用状态ACTIVE
填充行。您仍然可以仅为旧记录找到active
,或者如果您有其他一些代码填充该表。
无论如何为了保持安全,您可以在select语句中使用UPPER
:
SELECT *
FROM myTabble
WHERE UPPER(mytable.status) IN ('ACTIVE')