doctorized Δημοσ. 23 Νοεμβρίου 2019 Δημοσ. 23 Νοεμβρίου 2019 Έχω μία βάση δεδομένων με έναν πίνακα με στοιχεία ατόμων, όνομα, επώνυμο κλπ. Υπάρχουν εγγραφές, πχ "Γιαννης", "Γιάννης", "ΓΙΑΝΝΗΣ", δηλαδή και κεφαλαία και μικρά, με τόνο ή χωρίς. Θέλω να μπορώ να βρίσκω και τις 3 αυτές περιπτώσεις. Δοκίμασα με "COLLATE NOCASE" στο τέλος του query αλλά δεν βοήθησε καθόλου. Δοκίμασα με UPPER: SELECT * FROM Table WHERE UPPER(item) LIKE 'UPPER(%text%') και τώρα πια παίρνω ΓΙΑΝΝΗΣ όταν ψάχνω με "γιαννησ". Αν ψάξω με "γιαννης" βρίσκω μόνο "Γιαννης". Τι πρέπει να κάνω για να πάρω και τα 3;
3c0r1z Δημοσ. 24 Νοεμβρίου 2019 Δημοσ. 24 Νοεμβρίου 2019 Κατά πάσα πιθανότητα θα πρέπει να ενεργοποιήσεις το ICU extension. Δες εδώ https://stackoverflow.com/questions/973541/how-to-set-sqlite3-to-be-case-insensitive-when-string-comparing και εδώ https://www.sqlite.org/src/artifact?ci=trunk&filename=ext/icu/README.txt
doctorized Δημοσ. 25 Νοεμβρίου 2019 Μέλος Δημοσ. 25 Νοεμβρίου 2019 Στις 24/11/2019 στις 3:36 ΠΜ, 3c0r1z είπε Κατά πάσα πιθανότητα θα πρέπει να ενεργοποιήσεις το ICU extension. Δες εδώ https://stackoverflow.com/questions/973541/how-to-set-sqlite3-to-be-case-insensitive-when-string-comparing και εδώ https://www.sqlite.org/src/artifact?ci=trunk&filename=ext/icu/README.txt Δεν κατάλαβα τι πρέπει να κάνω. Έχω ήδη δοκιμάσει UPPER() /LOWER(), COLLATE NOCASE αλλά τίποτα δεν βοήθησε. Το ζητούμενο είναι πώς θα δώσω 'γιαννης' και θα πάρω 'Γιαννης', 'Γιάννης', 'ΓΙΑΝΝΗΣ';
k33theod Δημοσ. 25 Νοεμβρίου 2019 Δημοσ. 25 Νοεμβρίου 2019 Το like έχει πολύ περιορισμένες δυνατότητες μόνο 2 special chars. Το regex έχει απεριόριστες.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα