🧚 Άκου! Το Beekeeper Studio είναι ένα γρήγορο, σύγχρονο και open source GUI για βάσεις δεδομένων Λήψη
13 Ιανουαρίου 2026 Από τον Matthew Rathbone

Το LIKE ελέγχει αν ένα κείμενο ταιριάζει με ένα μοτίβο, όπου το % αντιστοιχεί σε οποιαδήποτε σειρά χαρακτήρων και το _ σε ακριβώς έναν. Έτσι βρίσκεις τιμές που περιέχουν, ξεκινούν ή τελειώνουν με κάποιο κείμενο. Τα παραδείγματα δουλεύουν σε PostgreSQL, MySQL, SQLite και SQL Server.

Πώς χρησιμοποιείς το LIKE

Το LIKE συγκρίνει μια τιμή με ένα μοτίβο. Το μοτίβο πρέπει να ταιριάζει με ολόκληρη την τιμή, με δύο wildcards για να καλύψουν τα κενά: το % ταιριάζει με οποιονδήποτε αριθμό χαρακτήρων (ακόμα και κανέναν) και το _ με ακριβώς έναν. Το NOT LIKE επιστρέφει το αντίθετο.

expression [NOT] LIKE pattern [ESCAPE escape_character]
-- In SQL Server, LIKE only works in a condition, such as a WHERE clause
SELECT 'Joe Bloggs' LIKE 'Jo%';
-- Output: true

SELECT 'Joe Bloggs' LIKE 'J_e%';
-- Output: true

SELECT 'Joe Bloggs' LIKE 'Bloggs';
-- Output: false

Το τελευταίο είναι false γιατί, χωρίς wildcard, το μοτίβο πρέπει να είναι ίσο με ολόκληρη την τιμή. Σε ένα query, το LIKE συνήθως μπαίνει στο WHERE:

-- Input: customers
-- id | name
-- ---+-------------
-- 1  | Joe Bloggs
-- 2  | Jane Doe
-- 3  | Joanna Smith
-- 4  | Bob Jones

SELECT name
FROM customers
WHERE name LIKE 'Jo%';

-- Output:
-- name
-- ------------
-- Joe Bloggs
-- Joanna Smith

Κανόνες που πρέπει να ξέρεις

  • Το LIKE της PostgreSQL κάνει διάκριση πεζών-κεφαλαίων. Οι άλλες βάσεις δεδομένων αγνοούν τα πεζά-κεφαλαία από προεπιλογή, αλλά στην PostgreSQL το 'Smith' LIKE 'smith' είναι false. Μετάτρεψε και τις δύο πλευρές σε πεζά, όπως στο LOWER(name) LIKE '%smith%', όταν τα πεζά-κεφαλαία δεν πρέπει να παίζουν ρόλο.
  • Το NULL δεν ταιριάζει ποτέ. Το NULL LIKE '%' είναι NULL, όχι true, οπότε οι γραμμές όπου η στήλη είναι NULL αποκλείονται και από το LIKE και από το NOT LIKE. Πρόσθεσε OR column IS NULL αν τις θέλεις.
SELECT NULL LIKE '%';
-- Output: NULL
  • Κάνε escape τα % και _ για να τα ταιριάξεις κυριολεκτικά. Βάλε έναν χαρακτήρα escape μπροστά από το wildcard και δήλωσέ τον με το ESCAPE:
-- Input: discounts
-- id | description
-- ---+---------------------
-- 1  | 50% off winter coats
-- 2  | Spend 50, save 10
-- 3  | Up to 25% off shoes

-- Without escaping, the % after 50 is a wildcard
SELECT * FROM discounts
WHERE description LIKE '%50%%';

-- Output:
-- id | description
-- ---+---------------------
-- 1  | 50% off winter coats
-- 2  | Spend 50, save 10

-- With ESCAPE '\', the \% matches a real percent sign
-- (in MySQL, write ESCAPE '\\': a single backslash escapes the quote)
SELECT * FROM discounts
WHERE description LIKE '%50\%%' ESCAPE '\';

-- Output:
-- id | description
-- ---+---------------------
-- 1  | 50% off winter coats
  • Ένα % στην αρχή δεν μπορεί να χρησιμοποιήσει index. Μια αναζήτηση προθέματος όπως LIKE 'INV-2026-%' μπορεί να χρησιμοποιήσει index στη στήλη, αλλά το LIKE '%widget%' πρέπει να ελέγξει κάθε γραμμή. Για να ψάξεις λέξεις σε μεγάλους όγκους κειμένου, χρησιμοποίησε καλύτερα την αναζήτηση πλήρους κειμένου της βάσης σου.

Εναλλακτική σύνταξη

Θα συναντήσεις επίσης αυτές τις επεκτάσεις που διαφέρουν ανά βάση δεδομένων:

-- PostgreSQL: ILIKE ignores case
SELECT 'SMITH' ILIKE 'smith';
-- Output: true

-- SQL Server: [ ] in a LIKE pattern matches one character from a set or range
SELECT CASE WHEN 'B12' LIKE '[A-C]%' THEN 'match' ELSE 'no match' END;
-- Output: match

-- MySQL: REGEXP for regular expressions (PostgreSQL uses ~)
SELECT 'A12-345' REGEXP '^A[0-9]{2}-[0-9]{3}$';
-- Output: 1

Για να ελέγξεις αν ένα κείμενο περιέχει ένα σταθερό string, χωρίς μοτίβο, βρες τη θέση του. Το αποτέλεσμα είναι 0 όταν το string δεν υπάρχει:

SELECT INSTR('FinTech Corp', 'Tech');
-- Output: 4

-- PostgreSQL: POSITION('Tech' IN 'FinTech Corp')
-- SQL Server: CHARINDEX('Tech', 'FinTech Corp')

Το CONTAINS() του SQL Server δεν είναι έλεγχος substring: είναι predicate αναζήτησης πλήρους κειμένου που χρειάζεται full-text index.

Πότε να χρησιμοποιείς το LIKE;

Χρησιμοποίησε το LIKE όταν ξέρεις μέρος μιας τιμής αλλά όχι ολόκληρη. Οι περισσότερες χρήσεις ανήκουν σε μία από αυτές τις τέσσερις.

Βρες κείμενο που περιέχει μια λέξη

Βάλε % και στις δύο πλευρές της λέξης. Το '%Tech%' ταιριάζει με “Tech Solutions Inc”, “FinTech Corp” και “Technology Partners”, γιατί ταιριάζει και μέσα σε μεγαλύτερες λέξεις.

Ταίριαξε την αρχή ή το τέλος μιας τιμής

Βάλε % μόνο στο τέλος για να ταιριάξεις πρόθεμα, όπως 'INV-2026-%', ή μόνο στην αρχή για να ταιριάξεις κατάληξη, όπως '%.pdf' ή '%@gmail.com'. Οι αναζητήσεις προθέματος είναι αυτές που μπορεί να επιταχύνει ένα index.

Ταίριαξε μια σταθερή μορφή

Το _ αντιστοιχεί σε ακριβώς έναν χαρακτήρα, οπότε ένα μοτίβο μπορεί να περιγράψει τη μορφή μιας τιμής: '___-___-____' για αριθμό τηλεφώνου, 'A__-___' για κωδικό προϊόντος. Με το NOT LIKE, το ίδιο μοτίβο βρίσκει τις τιμές που παραβιάζουν τη μορφή.

Αναζήτηση χωρίς να σε απασχολούν τα πεζά-κεφαλαία

Οι χρήστες γράφουν “smith”· τα δεδομένα λένε “Smith”. Μετάτρεψε και τις δύο πλευρές σε πεζά με το LOWER() και η αναζήτηση αγνοεί τα πεζά-κεφαλαία, ακόμα και στην PostgreSQL.

Πραγματικά παραδείγματα του LIKE

Αναζήτηση για οποιαδήποτε από πολλές λέξεις

Συνδύασε μοτίβα με OR για να βρεις προϊόντα που ταιριάζουν με οποιοδήποτε από αυτά:

-- Input: products
-- id | name
-- ---+-----------------
-- 1  | Gaming laptop
-- 2  | Spiral notebook
-- 3  | Desk lamp
-- 4  | Desktop computer

SELECT * FROM products
WHERE name LIKE '%laptop%'
   OR name LIKE '%notebook%'
   OR name LIKE '%computer%';

-- Output:
-- id | name
-- ---+-----------------
-- 1  | Gaming laptop
-- 2  | Spiral notebook
-- 4  | Desktop computer

Βρες τα τιμολόγια της φετινής χρονιάς

Οι αριθμοί τιμολογίων ξεκινούν με έναν τύπο και μια χρονιά, οπότε ένα μοτίβο προθέματος επιλέγει τα τιμολόγια του 2026 και παραλείπει τα πιστωτικά:

-- Input: invoices
-- invoice_no    | customer
-- --------------+----------
-- INV-2026-0012 | Northwind
-- INV-2025-0981 | Contoso
-- CN-2026-0003  | Northwind
-- INV-2026-0040 | Fabrikam

SELECT * FROM invoices
WHERE invoice_no LIKE 'INV-2026-%';

-- Output:
-- invoice_no    | customer
-- --------------+----------
-- INV-2026-0012 | Northwind
-- INV-2026-0040 | Fabrikam

Βρες αριθμούς τηλεφώνου σε λάθος μορφή

Ένα _ ανά χαρακτήρα περιγράφει τη μορφή που περιμένεις, και το NOT LIKE εμφανίζει τις γραμμές που πρέπει να διορθώσεις:

-- Input: customers
-- name      | phone
-- ----------+---------------
-- Ana Lima  | 555-010-1234
-- Ben Ode   | (555) 010-9876
-- Cara Diaz | 5550104321
-- Dev Rao   | 555-010-5555

SELECT name, phone FROM customers
WHERE phone NOT LIKE '___-___-____';

-- Output:
-- name      | phone
-- ----------+---------------
-- Ben Ode   | (555) 010-9876
-- Cara Diaz | 5550104321

Βρες ένα επώνυμο με οποιαδήποτε πεζά-κεφαλαία

Τα ονόματα που έχουν γραφτεί με κεφαλαία ή πεζά εμφανίζονται κανονικά όταν και οι δύο πλευρές μετατραπούν σε πεζά:

-- Input: customers
-- id | name
-- ---+------------
-- 1  | Anna Smith
-- 2  | BEN SMITH
-- 3  | Dana Jones
-- 4  | carla smith

SELECT * FROM customers
WHERE LOWER(name) LIKE '%smith%';

-- Output:
-- id | name
-- ---+------------
-- 1  | Anna Smith
-- 2  | BEN SMITH
-- 4  | carla smith

Περισσότερα για το LIKE

Σε αυτό το blog:

Επίσημη τεκμηρίωση:

Το Beekeeper Studio είναι ένα δωρεάν & open source GUI για βάσεις δεδομένων

Το καλύτερο εργαλείο για SQL queries & επεξεργασία που έχω χρησιμοποιήσει ποτέ. Μου δίνει ό,τι χρειάζομαι για να διαχειρίζομαι τη βάση δεδομένων μου. - ⭐⭐⭐⭐⭐ Mit

Το Beekeeper Studio είναι γρήγορο, εύχρηστο και κατανοητό με την πρώτη ματιά. Υποστηρίζει πάρα πολλές βάσεις δεδομένων και δουλεύει άψογα σε Windows, Mac και Linux.

Η έκδοση του Beekeeper για Linux έχει 100% όλες τις λειτουργίες, χωρίς εκπτώσεις και χωρίς συμβιβασμούς.

Τι λένε οι χρήστες για το Beekeeper Studio

★★★★★
"Το Beekeeper Studio αντικατέστησε εντελώς την παλιά μου ροή εργασίας με SQL. Είναι γρήγορο, εύχρηστο και κάνει τη δουλειά με βάσεις δεδομένων ξανά απολαυστική."
— Alex K., Database Developer
★★★★★
"Έχω δοκιμάσει πολλά GUI για βάσεις δεδομένων, αλλά το Beekeeper βρίσκει την τέλεια ισορροπία ανάμεσα σε δυνατότητες και απλότητα. Απλώς δουλεύει."
— Sarah M., Full Stack Engineer

Έτοιμος να βελτιώσεις τη ροή εργασίας σου με SQL;

download Δωρεάν λήψη