UPPER() în MySQL

Transformă toate literele unui text în majuscule, inclusiv diacriticele.

Sintaxă
UPPER(sir)

Ce face UPPER()

UPPER() face toate literele mari. Spre deosebire de unele funcții din alte limbaje, funcționează corect și pe diacritice: ș devine Ș.

UCASE() este sinonim pentru UPPER().

Parametri

Parametru Descriere
sir Textul transformat.

Ce returnează

Textul cu litere mari.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE clienti (
  id INT PRIMARY KEY,
  nume VARCHAR(50),
  oras VARCHAR(30),
  email VARCHAR(100),
  telefon VARCHAR(20)
);

INSERT INTO clienti VALUES
  (1, 'Ana Pop', 'Iași', 'ana.pop@exemplu.ro', '0722-123-456'),
  (2, 'bogdan ionescu', 'Cluj-Napoca', 'bogdan@firma.ro', '0744 555 101'),
  (3, 'Cristina Marin', 'Brașov', 'cristina@exemplu.ro', '0733.222.909'),
  (4, 'Dan Stoica', 'Timișoara', NULL, '0755123123');

Exemplul 1: Litere mari, cu diacritice

SELECT UPPER('Timișoara') AS oras, UCASE('țară') AS sinonim;

Rezultat

+------------+---------+
| oras       | sinonim |
+------------+---------+
| TIMIȘOARA  | ȚARĂ    |
+------------+---------+

Exemplul 2: Coduri de produs scrise uniform

SELECT nume, UPPER(LEFT(oras, 3)) AS cod_oras
FROM clienti
ORDER BY id;

Rezultat

+----------------+----------+
| nume           | cod_oras |
+----------------+----------+
| Ana Pop        | IAȘ      |
| bogdan ionescu | CLU      |
| Cristina Marin | BRA      |
| Dan Stoica     | TIM      |
+----------------+----------+

Greșeli frecvente

  • Folosești UPPER() în WHERE ca să compari fără majuscule: WHERE UPPER(nume) = 'ANA'. Cu colația implicită utf8mb4_0900_ai_ci, comparațiile ignoră deja literele mari, iar funcția pe coloană împiedică folosirea indexului.

Comenzi înrudite

  • LOWER(): Transformă toate literele unui text în litere mici.
  • CONCAT: Lipește mai multe texte într-unul singur.
  • LEFT(): Returnează primele N caractere dintr-un text.