Ciao a tutti
devo estrarre dei dati da una tabella (allegati) e convertire un dato da stringa in numerico
dopo averlo pulito della sua estensione '.jpg', ma il problema non è questo perchè la query che leggete sotto funziona estraggo il dato converto ecc ecc
più che un problema ho una curiosità
intanto ecco la query
Codice PHP:
SELECT allegati.ID_allegati, allegati.ID_tipoallegato, allegati.ID_annunci, allegati.allegato, annunci.ID_adv, REPLACE(allegati.allegato, '.jpg', '') AS al
FROM allegati INNER JOIN
annunci ON allegati.ID_annunci = annunci.ID_annunci
WHERE (annunci.ID_adv IS NULL) AND (CASE WHEN isnumeric(REPLACE(allegato, '.jpg', '')) = 1 THEN CAST(REPLACE(allegato, '.jpg', '') AS integer) END BETWEEN
9 AND 22)
ripeto la query funziona o meglio funzionerebbe se non fosse che ad un certo punto mi da un errore di conversione del integer perchè incontra un dato 23032009292 supera i limiti e si ferma
la mia domanda è questa
quel dato non dovrebbe essere considerato perchè la clausola where (annunci.ID_adv IS NULL) lo esclude, fa cioè parte di quei dati che non devo ne voglio castare la domanda è perchè la query correttamente non lo include nella visualizzazione ma lo include nel cast ?
spero di essermi capito
Grazie a tutti
Marco