Ce face BETWEEN
BETWEEN a AND b este echivalent cu >= a AND <= b. Ambele capete sunt incluse. Funcționează cu numere, date și texte.
Pentru coloane de tip DATETIME ai grijă la capătul de sus: BETWEEN '2026-10-01' AND '2026-10-31' nu include comenzile din 31 octombrie de după ora 00:00:00.
Parametri
| Parametru | Descriere |
|---|---|
minim |
Începutul intervalului (inclus). |
maxim |
Sfârșitul intervalului (inclus). |
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) NOT NULL,
oras VARCHAR(30),
email VARCHAR(100)
);
INSERT INTO clienti VALUES
(1, 'Ana Pop', 'Cluj', 'ana@exemplu.ro'),
(2, 'Bogdan Ionescu', 'Sibiu', NULL),
(3, 'Cristina Marin', 'Cluj', 'cristina@exemplu.ro'),
(4, 'Dan Stoica', 'Arad', NULL);
CREATE TABLE comenzi (
id INT PRIMARY KEY,
client_id INT,
data DATE,
total INT
);
INSERT INTO comenzi VALUES
(101, 1, '2026-09-03', 3580),
(102, 3, '2026-09-15', 650),
(103, 1, '2026-10-02', 1200),
(104, 2, '2026-10-11', 80);
Exemplul 1: Interval de valori
SELECT id, total FROM comenzi WHERE total BETWEEN 500 AND 1500 ORDER BY id;
Rezultat
+-----+-------+
| id | total |
+-----+-------+
| 102 | 650 |
| 103 | 1200 |
+-----+-------+
Exemplul 2: Comenzile dintr-o lună
SELECT id, data, total
FROM comenzi
WHERE data BETWEEN '2026-10-01' AND '2026-10-31'
ORDER BY data;
Rezultat
+-----+------------+-------+
| id | data | total |
+-----+------------+-------+
| 103 | 2026-10-02 | 1200 |
| 104 | 2026-10-11 | 80 |
+-----+------------+-------+
Greșeli frecvente
- Scrii capetele invers:
BETWEEN 1500 AND 500nu găsește nimic. Primul număr trebuie să fie cel mai mic. - Folosești
BETWEENpeDATETIMEcu o dată simplă ca sfârșit. Scrie mai sigurdata >= '2026-10-01' AND data < '2026-11-01'.