Я хочу выбрать строки из таблицы Users
, где столбец Logon
равен "foo"
- Однако я также хочу вернуть "Foo"
или "FOO"
.
Я мог бы сделать что-то вроде:
SELECT Id, Name FROM Users WHERE UPPER(Logon) = 'FOO';
И затем преобразовать мой параметр в верхний регистр. Однако в нашем коде есть буквально сотни мест, где нам пришлось бы обновить это.
Есть ли способ сделать саму схему таблицы нечувствительной к регистру, чтобы эти запросы работали без изменений? Спасибо!
UPDATE
Я бы не хотел менять чувствительность к регистру во всей базе данных или на уровне сессии. Изменять SQL-запросы сложно, поскольку мы используем .NET Entity Framework и имеем LINQ-запросы к этой таблице повсюду. Не похоже, что EF поддерживает автоматическое преобразование регистра, если только вы не хотите изменить каждый LINQ-запрос.