Sql upper: UPPER (Transact-SQL) — SQL Server

Функция Oracle UPPER

Функция Oracle UPPER() преобразует все буквы строки в верхний регистр.

Синтаксис

Ниже показан синтаксис функции Oracle UPPER() :

 

UPPER(string)

Язык кода: SQL (язык структурированных запросов) (sql)

Аргументы

Функция UPPER() принимает один аргумент:

1) string 9000 5

— это строка, преобразованная в верхний регистр.

Возвращаемое значение

Функция UPPER() возвращает строку, в которой все буквы в верхнем регистре.

Примеры

Следующий оператор преобразует строку 'string function' в верхний регистр:

 

SELECT ПРОПИСН('строковые функции') ОТ двойной;

Язык кода: SQL (язык структурированных запросов) (sql)

Вот результат:

 

'Строковые функции'

Язык кода: SQL (язык структурированного запроса) (SQL)

Давайте посмотрим на таблицу в базе данных:

Следующие группы контактов для каждого алфавита.

 

ВЫБЕРИТЕ ПРОПИСНЫЕ( SUBSTR( first_name, 1, 1 )) инициалы, СЧИТАТЬ( * ) ОТ контакты ГРУППА ПО ПРОПИСНАЯ( SUBSTR( первое_имя, 1, 1 )) СОРТИРОВАТЬ ПО инициалы

Язык кода: SQL (язык структурированных запросов) (sql)

На следующем рисунке показан результат:

Вы можете использовать функцию UPPER() для выполнения поиска значений в столбце без учета регистра. Чтобы продемонстрировать это, давайте изменим фамилию идентификатора контакта 38 с Hill на HILL :

 

UPDATE. контакты НАБОР last_name = 'ХОЛМ' ГДЕ контакт_ид = 38;

Язык кода: SQL (язык структурированных запросов) (sql)

Чтобы найти контакты с фамилией Hill , HILL или hill , используйте функцию UPPER() в предложении WHERE следующим образом:

901 06

ВЫБОР
контакт_идентификатор,
имя,
фамилия,
электронная почта
ОТ
контакты
ГДЕ
ПРОПИСНАЯ(фамилия) = 'ХОЛМ';

Язык кода: SQL (язык структурированных запросов) (sql)

Вот результат:

В этом руководстве вы узнали, как использовать Oracle UPPER() Функция для преобразования всех букв строки в верхний регистр.

Было ли это руководство полезным?

Примеры запроса SQL SELECT без учета регистра

Часто задаваемые вопросы по запросу SQL SELECT : Как выполнять запросы SQL SELECT , игнорируя регистр (т. е. запросы без учета регистра, игнорирующие прописные или строчные буквы строки)?

Фон

Когда я впервые начал писать SQL-запросы, я использовал Postgresql и использовал некоторые из их пользовательских возможностей регулярных выражений для выполнения запросов без учета регистра. В то время это казалось хорошей идеей, но когда я попытался перенести свое приложение в базу данных MySQL, часть моего приложения перестала работать. После некоторой отладки я вспомнил, что использовал специфичные для Postgreql возможности запросов, поэтому мне пришлось переписать эту часть кода для работы с MySQL.

Чтобы избавить вас от этой печали, в следующих примерах показано, как писать нечувствительные к регистру запросы SQL SELECT с использованием стандартного синтаксиса SQL. Показанные запросы должны работать с большинством, если не со всеми, базами данных, совместимыми с SQL 92.

Очень важное предостережение

Обратите внимание, что есть одна ОЧЕНЬ ВАЖНАЯ вещь, которую следует сказать о показанном подходе:

Эти запросы заставляют вашу базу данных выполнять сканирование таблицы . Это означает, что если у вас есть индекс для столбца, который вы ищете, этот индекс не будет использоваться. Таким образом, если в вашей таблице миллиард записей, этот подход заставит базу данных просматривать все миллиарды записей. Очевидно, что это очень важное предостережение, о котором вы должны знать.

Я не публикую комментарии от людей, которые используют уничижительный язык, но, как написал один человек в комментариях (между оскорблениями), «использование функции для преобразования всего столбца данных требует сканирования таблицы и его следует избегать в ГДЕ пункт ».

Нечувствительный к регистру SQL SELECT: используйте функции верхнего или нижнего регистра

Стандартный способ SQL для выполнения запросов без учета регистра — использование функций SQL верхнего или нижнего , например:

выберите * из пользователей, где upper(first_name) = 'FRED';
 

или это:

выберите * из пользователей, где lower(first_name) = 'fred';
 

Как видите, шаблон состоит в том, чтобы сделать поле, которое вы ищете, в верхнем или нижнем регистре, а затем сделать строку поиска также в верхнем или нижнем регистре, чтобы соответствовать функции SQL, которую вы использовали.