Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    info su valori NULL in mySQL5

    con il 4 non avevo mai avuto di questi problemi, ma se da php eseguo una query:
    codice:
    SELECT CONCAT(COGNOME,' ',NOME) AS AUTORE FROM ET_UTENTI WHERE UTENTE_ID=10
    nel caso uno dei due sia vuoto mi ritrovo ad esempio con scritto NULL Manuel o Rossi NULL, come faccio a dire a mySQL che se la variabile è null non la deve prendere? o in alternativa, come faccio a dire a php di non stampare la parte NULL di una stringa?





    Grazie
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    ciao. hai provato a usare concat_ws? Dovrebbe escludere dalla concatenazione i NULL a differenza di concat.

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: info su valori NULL in mySQL5

    Originariamente inviato da 13manuel84
    con il 4 non avevo mai avuto di questi problemi, ma se da php eseguo una query:
    codice:
    SELECT CONCAT(COGNOME,' ',NOME) AS AUTORE FROM ET_UTENTI WHERE UTENTE_ID=10
    nel caso uno dei due sia vuoto mi ritrovo ad esempio con scritto NULL Manuel o Rossi NULL,
    Mi sembra strano. Dovresti trovarti NULL e basta.
    Puoi fare come ha suggerito Nicola usando un separatore vuoto.

  4. #4
    non funziona ugualmente

    con l'unica differenza che non ho più lo spazio tra nome e cognome, ma risultano attaccati
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da 13manuel84
    non funziona ugualmente

    con l'unica differenza che non ho più lo spazio tra nome e cognome, ma risultano attaccati
    strano. sono andato a riguardare il manuale e recita testualmente.

    CONCAT() returns NULL if any argument is NULL.

    e questo è un esempio riportato per concat_ws.

    SELECT CONCAT_WS(',','First name',NULL,'Last Name');
    -> 'First name,Last Name'

    ho fatto una prova (mysql 5.0.18) e il risultato è quello previsto: con concat mi restituisce NULL quando c'è anche solo un campo che contiene NULL mentre usando concat_ws mi restituisce solo il nome o solo il cognome nel caso uno dei due sia NULL.

  6. #6
    che io sii maledetto


    perché oltre a montare mysql5 ho cambiato anche PMA con SQLyog e devo ancora imparare come tratta i null, perché nella creazione della tabella io mettevo come valore di default NULL, ma per settarli a null lui vuole (NULL) quindi di default lui me li settava ad una stringa...



    ora che lo so e che mi ha fatto penare così di sicuro non me lo scordo più. Grazie per gli aiuti a entrambi



    ah, e la query l'ho modificata così:
    codice:
    SELECT CONCAT(IFNULL(COGNOME,''), ' ', IFNULL(NOME,''))  AS AUTORE FROM ET_UTENTI WHERE UTENTE_ID=1
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da 13manuel84
    ora che lo so e che mi ha fatto penare così di sicuro non me lo scordo più. Grazie per gli aiuti a entrambi
    Hai ragione. Son le cose che ti fanno perdere più tempo la prima volta quelle che poi ti rimangono più impresse.

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.