Chcę wybrać wiersze z tabeli o nazwie Users
, gdzie kolumna Logon
jest równa "foo"
- Jednak chcę również zwrócić "Foo"
lub "FOO"
.Czy w Oracle istnieje sposób na rozróżnianie wielkości liter w kolumnie?
mógłby zrobić coś takiego:
SELECT Id, Name FROM Users WHERE UPPER(Logon) = 'FOO';
a następnie przekonwertować mój parametr na wielkie litery. Jednak w naszym kodzie mamy dosłownie setki miejsc, w których musielibyśmy to zaktualizować.
Czy istnieje sposób, aby sam schemat tabeli nie powodował rozróżniania wielkości liter, aby te zapytania działały bez modyfikacji? Dzięki!
UPDATE
I raczej nie zmieni wielkości liter w całej bazy danych lub na poziomie sesji. Zmiana zapytań SQL jest trudna, ponieważ używamy architektury Entity Framework .NET i mamy kwerendy LINQ dla tej tabeli w każdym miejscu. Nie wygląda na to, że EF obsługuje automatyczną konwersję przypadku, chyba że chcesz zmienić także każde zapytanie LINQ.
Sprawdź http://stackoverflow.com/questions/2001165/oracle-11g-case-insensi tive-by-default – a1ex07
Szukam sposobu na kontrolę poziomu tabeli i/lub kolumny, nie chcę teraz zmieniać całej bazy danych. –