select * from ur_username u
join ur_username_person up
on up.username_id=u.username_id
join ur_person p on up.person_id=p.person_id
join ur_system s on u.system_id=s.system_id
WHERE U.USERNAME IN (select username from ur_username where system_id=349 and status='DISABLED') AND U.STATUS='ACTIVE'
在where子句中的上述代码中,子查询中的所有用户名都将被存储,我希望所有用户名无论大小写应该存储在我尝试使用的where子句(UPPER)中,但只能获得大写的用户名。 请在此提出任何建议。 例如,在子查询中我得到了" ccku"结果,但当涉及到我想要存储的where子句时," ccku"和" CCKU"
请帮我解决上述问题
答案 0 :(得分:0)
当您尝试使用鞋帮时,您是否在where子句中执行此操作?
WHERE
UPPER(U.USERNAME) IN
UPPER(select username from ur_username where system_id=349 and status='DISABLED')
答案 1 :(得分:0)
这不是超级高效的,但您可以检查子查询两次。一次使用upper(),一次使用lower()。
WHERE (upper(U.USERNAME) IN (select username from ur_username where system_id=349 and status='DISABLED')
or lower(U.USERNAME) IN (select username from ur_username where system_id=349 and status='DISABLED'))
AND U.STATUS='ACTIVE'
答案 2 :(得分:0)
这是因为您将SEC_CASE_SENSITIVE_LOGON参数的设置设置为“TRUE”, 将此参数设置为“FALSE”可能会解决您的问题。
SQL> show parameter sec_case_sensitive_logon SQL> alter system set sec_case_sensitive_logon = false scope = both;