Risorse per webmaster

L A   C O M U N I T À   V I R T U A L E   I T A L I A N A   P E R   W E B   M A S T E R S

 
 
      Tecnologie
      HTML
      CSS
      DHTML
      FLASH
      ASP
      PHP
      JSP
      PERL
      XML
      SMIL
      WIRELESS
      PALMARI
      APACHE
      MYSQL
      PICOSQL
 
      Grafica
 
      Servizi
 
      Raccolte
 
      Recensioni
 
      Analisi
 
      Disclaimer

   Per tutti
 
  .: Magazine
  .: Editor
  .: Appunti
  .: Gratis
  .: Scripts
  .: Components
 
   Home page

Partner
Comunicati stampa
Proposte di viaggio
Prenotazione hotel
Prenota vacanze
Accessori palmari
Cerca alberghi
Guide turistiche

versione stampabile Mostra una versione adatta per la stampa  

Livello di difficoltà:Livello di difficoltà: medio  
MySQL è il database open source per eccellenza. Cresciuto molto in questi anni, è diventato il DBMS più utilizzato dalla comunità open source e apprezzato anche da chi scrive pagine con tecnologie diverse da PHP e su server diversi da Linux.
 

Funzioni condizionali

MySQL
Le funzioni condizionali di MySQL consentono di eseguire query verificando che un'istruzione sia vera o falsa.
Come per tutti i linguaggi di programmazione, la condizione e il relativo comportamente viene suddiviso su tre passaggi:
  1. La condizione
  2. Se la condizione è vera, esegue questa istruzione
  3. Se la condizione è falsa, esegue un'altra istruzione
Il classico If ... Then ... Else ...

MySQL prevede diverse sintassi per le verifiche condizionali. Vediamone alcune:

La funzione IF
La funzione IF permette di confrontare dei campi e restituire delle istruzioni diversi a seconda della veridicità della condizione iniziale:

SELECT IF(primoCampo != secondoCampo, 1, 0) FROM nomeTabella;

Con questo tipo di query, MySQL confronta il primoCampo con il secondoCampo. Se fossero diversi, restituirebbe 1, altrimenti 0.

Vediamo un caso banale ma pratico. Possiamo effettuare la verifica condizionale IF anche con dei numeri. Ad esempio:

SELECT IF(1<2, 'vero', 'falso');

In questo caso, MySQL restituisce "vero", perché 1 è minore di 2.

IFNULL
Questa funzione può risultare molto comoda per intercettare i NULL che MySQL potrebbe restituire. IFNULL infatti intercetta i casi di NULL e restituisce ciò che il database administrator desidera.

Può essere utile quando si divide un campo per un altro quando non si sa cosa contengano i due campi (magari perché dinamicamente modificati dagli utenti). Se infatti il secondo campo fosse zero ( 0 ), dividere per 0 restituisce un errore, per MySQL quindi è NULL. Onde evitare questo problema, si usa il condizionale IFNULL. Vediamo un esempio con dei numeri:

SELECT IFNULL(2/0,'impossibile');

In questo caso MySQL, invece di restituire NULL, restituisce "impossibile".

CASE
Questo condizionale consente a MySQL di verificare più campi, come per il Select Case di Visual Basic o Switch() per i linguaggi derivati da C (Java, Javascript, C# ecc.).

Quindi, invece di avere una sola condizione, CASE consente di effettuare più verifiche, ad esempio:

SELECT CASE 1 WHEN primoCampo = 'primoValore' THEN 1 WHEN secondoCampo = 'secondoValore' THEN 2 WHEN terzoCampo = 'terzoValore' THEN 3 ELSE 'nessuna condizione è vera' END;

In questo modo, se uno dei valori del campo primoCampo è uguale a "primoValore", allora MySQL restituisce 1. E così via per il secondoCampo e il terzoCampo. Se nessuna condizione è soddisfatta, MySQL restituisce "nessuna condizione è vera". Il comando END finale, chiude il CASE.
 

 
 
Home > mysql > ...   © 1999-2017 Risorse.net, tutti i diritti riservati