J'ai une chaîne avec des caractères majuscules et minuscules, comment ignorer la casse
J'ai essayé avec COLLET, UPPERCASE, LOWERCASE Ça ne marche pas. y a-t-il un autre moyen d'ignorer?
3 Réponses :
Essayez ceci:
WHERE LOWER(myColumn) = LOWER(myValue)
ou, bien sûr:
WHERE UPPER(myColumn) = UPPER(myValue)
utilisez le haut ou le bas des deux côtés, comme l'a mentionné Robert Kock. si les jointures ne correspondent pas après l'utilisation de la partie supérieure / inférieure, cela peut être dû à des espaces de fin dans vos données. Dans ce cas, vous pouvez également utiliser trim pour supprimer les espaces de fin indésirables
lower(trim(column1)) = lower(trim(column2))
ou
upper(trim(column1)) = upper(trim(column2))
Les méthodes supérieure et inférieure sont acceptées, mais si vous cherchez quelque chose de plus sophistiqué, essayez ceci.
create table table_test (a varchar2(100)); insert into table_test values( 'ABC'); insert into table_test values( 'abc'); insert into table_test values( 'AbC'); alter session set NLS_COMP=LINGUISTIC; -- how to compare string alter session set NLS_SORT=BINARY_AI; --//or alter session set NLS_SORT=BINARY_CI; -- how to sort string -- the magic starts here select * from table_test where a = 'ABC'
Et une description complète des différentes méthodes de tri et de comparaison: https://docs.oracle.com/cd/ B28359_01 / server.111 / b28298 / ch5lingsort.htm # CIHJBFAD
Pouvez-vous montrer ce que vous avez essayé dans la déclaration?
Le mot clé est UPPER
Quelque chose comme
WHERE UPPER (myColumn) = UPPER (myValue)
. Bien sûr, utiliserLOWER
est également acceptable.@RobertKock pourquoi ne pas commenter votre réponse. De cette façon, la question recevra une réponse formelle
@DesignerAnalyst: vérifier