Query con condizione >= | SQL & MySQL

Topic: Pubblico - Composto da 3 Posts di 2 Utenti.

29 Agosto, 2011 09:55 #1
digitstudios
Utente

digitstudios
Registrato: Aug, 2011
Posts: 2
Offline

Buongiorno a tutti, avrei un quesito.
Un applicativo che non posso modificare effettua alcune query su un db MySql con condizioni del tipo:

SELECT * FROM TABELLA WHERE TABELLA.CAMPO1>='STRINGA ' AND
TABELLA.CAMPO1<='STRINGA '
completando la query con tanti spazi quanti ne servono per raggiungere la dimensione del campo di tipo CHAR

Il database manager non restituisce alcun risultato, ma se provo ad eseguire esternamente la query, togliendo gli spazi

SELECT * FROM TABELLA WHERE TABELLA.CAMPO1>='STRINGA' AND
TABELLA.CAMPO1<='STRINGA'

il Db manager mi torna il risultato atteso.
Posso agire su qualche parametro di configurazione per risolvere il mio problema'

Grazie
Gianluca

31 Agosto, 2011 08:39 #2
fuser
Utente

fuser
Registrato: Aug, 2011
Posts: 86
Offline

Internamente MySQL lascia degli spazi bianchi al termine di ogni valore CHAR, è vero, ma questi spazi non devono interessare all'utente, che può (e deve) fare le sue INSERT e le sue SELECT senza aggiungere inutili spazi alla fine.
In qualche modo occorre modificare quello script...

31 Agosto, 2011 08:44 #3
digitstudios
Utente

digitstudios
Registrato: Aug, 2011
Posts: 2
Offline

Ciao, in realtà non ho la possibilità di modificare lo script in quato generato da una applicazione di terze parti di cui non dispongo dei sorgenti.

Ad ogni modo ho risolto aggiungendo una direttiva al file di configurazione my.ini come di seguito:

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,
PAD_CHAR_TO_FULL_LENGTH"

Ultima modifica 31 Agosto, 2011 08:44 di digitstudios

Condividi su:

Loggati o Registrati per replicare