Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478

    [MySQL] Esclusione record NULL

    Dovrei estrarre dei dati da un campo di una tabella, campo che può contenere anche null come valore, ma vorrei evitare di stampare delle righe vuote quando fisicamente non ci sono record da mostrare. Vorrei farlo direttamente dalla query, senza dover agire con php per evitare i record null. Come si potrebbe fare? Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    select * from tabella where campo is not null

  3. #3
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Grazie! e se invece di null il campo non avesse nessun valore?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da neida
    Grazie! e se invece di null il campo non avesse nessun valore?
    ...where campo != ''

  5. #5
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Grazie, sempre molto disponibile! Senti, solo per curiosità, ma l'istruzione mysql IFNULL a cosa serve di preciso e nel caso della questione che ho posto prima non si potrebbe applicare in qualche modo?

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da neida
    Grazie, sempre molto disponibile! Senti, solo per curiosità, ma l'istruzione mysql IFNULL a cosa serve di preciso e nel caso della questione che ho posto prima non si potrebbe applicare in qualche modo?
    A essere sincero è una funzione che non uso mai.
    Stando a quel che dice il manuale alla fine mi sembra che sia la stessa cosa di usare is not null
    Se il campo non è null restituisce il campo (l'espressione 1), se è null assegni un altro valore (l'espressione 2).
    La query dovrebbe diventare così:

    select * from tabella where ifnull(campo,1) <> 1

    Spero di non aver scritto eresie.

    P.S. Ma usando is not null e != '' non sei riuscito ad estrarre i record che ti servono?

  7. #7
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Si si, i dati li ho recuperati correttamente, sia con is not null che con != ''. Mi chiedevo solo in che modo si potesse fare magari anche con ifnull.

    Però dalla tua ultima query il risultato non è lo stesso dei precedenti. Recupera tutti i record, inclusi i null o vuoti che siano. Ho guardato un po' gli esempi sul manuale ma non riesco ad usarla. Puoi aitarmi? Grazie ancora di tutto!

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Te l'ho detto che è una funzione che non uso.
    Però ho appena fatto una prova su una mia tabella e i record restituiti coincidono con quelli che si ottengono scrivendo where campo is not null.

    Prova così

    select * from tabella
    where ifnull(campo,1) <> 1 and campo <> ''

    Se non funziona attendi risposte più qualificate.

  9. #9
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Niente da fare, sempre lo stesso risultato. Mi sa che alla fine usero' is not null.
    Grazie comunque per l'aiuto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.