Quote Originariamente inviata da ANTAGONIA Visualizza il messaggio
Buon pomeriggio a tutti.
Ho una tabella con dati importati da file csv.
Il file non lo genero io e non lo carico io, quindi mi ritrovo a dover gestire la "monnezza".
Detto questo, ho provato ad utilizzare TRIM() nella query, ma senza risultato.
C'è un modo per ovviare a questo problema?
codice:
SELECT * FROM ".TB_DATI." WHERE SUBSTR(pericentro,1,1) = '".$lista."' AND TRIM(matricola)='".$codImm."'
Il problema non è il dato che ricevo per la ricerca $codImm, bensi quello che risiede nella tabella TB_DATI
Grazie.
Il dato sporco è in "pericentro" o in "matricola"?
Qual'è lo scopo della query, cioè cosa rappresenta pericentro e matricola, da doverlne prendere una substringa di un carattere e da fare trim della matricola?
Se riesci a postare un record e una query e dirci cosa ti restituisce e cosa vorresti ottenere è meglio...
Detto questo, a intuito, tu cerchi una substring di lunghezza 1 che sia uguale a $lista...partendo dal primo carattere.
Quindi sia "pippo" che "pluto" vanno bene, se definisci $lista come "p"...in pratica non serve a nulla, basta un "LIKE 'p%" che è un pelo più performante sui campi text.
Riguardo a matricola stessa cosa, se il campo matricola è "pasticciato" prova con "LIKE %{$codiceImm}%", così non devi preoccuparti di altri caratteri/spazi prima o dopo, nella tabella :-)