Struttura delle espressioni
Un'espressione consiste di una combinazione qualsiasi di nomi di colonne, valori letterali, operatori o funzioni.
Per combinare elementi nella generazione di espressioni, attenersi alle seguenti indicazioni:
Fare riferimento alle colonne immettendone i nomi. Se nella query si utilizza più di una tabella e se si utilizza un nome di colonna che non è univoco, è necessario aggiungere il nome della tabella e un punto al nome della colonna. Il seguente esempio mostra il nome della colonna job_id qualificato con il nome della tabella employee:
employee.job_id
Racchiudere il testo letterale tra virgolette singole. Non sono necessarie virgolette per i numeri.
Nota
In alcuni database le parole tra virgolette singole vengono interpretate come valori letterali, mentre le parole tra virgolette doppie vengono interpretate come oggetti di database quali riferimenti a colonne o tabelle. Di conseguenza, anche se in Progettazione query e Progettazione visualizzazioni è possibile accettare termini tra virgolette doppie, l'interpretazione potrebbe essere diversa da quella prevista. In SQL Server le virgolette doppie sono sempre interpretate come delimitatori di oggetti database.
Utilizzare gli operatori aritmetici standard per i numeri e un operatore di concatenazione per la combinazione di stringhe.
Utilizzare le parentesi per definire la precedenza degli operatori.
Se si include una funzione, attenersi alle stesse indicazioni per gli argomenti passati alla funzione. Fare quindi riferimento alle colonne immettendone i nomi, delimitare i testi letterali tra virgolette singole e così via.
Se si passano i nomi di colonne come argomenti di funzione, accertarsi che il tipo di dati della colonna sia appropriato rispetto all'argomento della funzione.
È possibile includere funzioni definite dall'utente restituendo un valore scalare in un'espressione.
Nella tabella riportata di seguito viene illustrato l'utilizzo delle espressioni in una query.
Espressione* |
Risultato |
---|---|
SELECT (price * .9)FROM products |
Visualizza un prezzo scontato (10% in meno rispetto al valore della colonna prezzo). |
SELECT sales.qty, titles.price FROM sales INNER JOIN titles ON sales.title_id = titles.title_id ORDER BY (sales.qty * titles.price) |
Dopo avere effettuato il join di due tabelle, ordina il gruppo di risultati in base al valore totale di un ordine (quantità moltiplicata per il prezzo). |
SELECT au_lname, au_fname FROM authors WHERE (SUBSTRING(phone, 1, 3) = '415') |
Visualizza gli autori il cui prefisso telefonico è della zona di San Francisco. |
SELECT ord_num, ord_date FROM sales WHERE (ord_date >= DATEADD(day, -10, GETDATE())) |
Trova tutti gli ordini della tabella sales immessi negli ultimi 10 giorni. La data odierna viene restituita dalla funzione GETDATE( ). |
* Alcune funzioni e alcuni operatori mostrati negli esempi sono specifici di un determinato database. Per ulteriori informazioni sugli operatori e sulle funzioni utilizzabili, vedere la documentazione del database utilizzato.
Vedere anche
Concetti
Variabili predefinite per le espressioni