#sql #postgresql #knex.js
Вопрос:
Допустим, в моей базе данных есть следующие записи:
ID | Имя |
---|---|
12 | Неизвестный Джон |
13 | Мэри Энн |
13 | маленький Джо |
14 | Неизвестный Джон |
В моей программе у меня есть строковая переменная, которая всегда пишется с заглавной буквы, например:
myCapString = "JOHN DOE"
Есть ли способ получить строки в таблице с помощью столбца » ГДЕ «в столбце» имя » с заглавными буквами и последующим сопоставлением myCapString
?
В этом случае запрос вернет две записи, одну с идентификатором=12 и одну с идентификатором=14
Решение состоит в том, чтобы НЕ изменять фактические значения в таблице.
Комментарии:
1. Не знаю, почему таблица деформирована. Это выглядит правильно в режиме редактирования.
2. Используйте параметры сортировки без учета регистра.
Ответ №1:
Общим решением в Postgres было бы заглавное значение Name
столбца, а затем выполнить сравнение со строковым литералом со всеми заглавными буквами, например
SELECT * FROM yourTable WHERE UPPER(Name) = 'JOHN DOE';
Если вам нужно реализовать это Knex, вам нужно будет выяснить, как писать столбец в верхнем регистре. Для этого может потребоваться использование необработанного запроса.