mysql case insensivity

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 4930
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

mysql case insensivity

Messaggioda ZeroUno » mer apr 11, 2012 13:59

In una tabella su mysql ho dei campi settati come varbinary contenenti del testo.

Io devo fare una ricerca all'interno di questi campi, ma la devo fare case-insensitive.

Senza toccare il database posso farlo?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun lug 25, 2005 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: mysql case insensivity

Messaggioda masalapianta » mer apr 11, 2012 15:18

select * from tabella where upper(campo) like upper('%blabla%');
select * from tabella where upper(campo) = upper('lalablablapapa');

su postgres c'è ilike (una like case insensitive), su mysql ci si arrangia così :P

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 4930
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: mysql case insensivity

Messaggioda ZeroUno » mer apr 11, 2012 16:10

Grazie.

EDIT:
solo una nota: upper e lower non funzionano con i campi binary.
Ho dovuto usare
LOWER(CONVERT(campo USING latin1)) =...
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111


Torna a “Gnu/Linux in genere”

Chi c’è in linea

Visitano il forum: Google [Bot] e 1 ospite