Funzioni per le espressioni
Le funzioni sono operazioni archiviate sempre disponibili. Nei sistemi di gestione di database sono disponibili funzioni di base, ma è comunque possibile creare e definire personalmente le funzioni desiderate.
È possibile chiamare numerose funzioni quando si sta compilando un'espressione, fra le quali:
Funzioni stringa (caratteri).
Funzioni data.
Funzioni matematiche.
Funzioni di sistema.
Altre funzioni, ad esempio quelle per convertire dati da un tipo a un altro.
Funzioni definite dall'utente.
In generale, se si conoscono le funzioni disponibili nel database in uso, sarà possibile utilizzare i nomi delle funzioni e la sintassi supportati da tale database. In alcuni casi, ad esempio quando si stanno creando visualizzazioni, stored procedure o trigger, sarà necessario utilizzare la sintassi e i nomi di funzione specifici del database in uso.
In Progettazione query e Progettazione visualizzazioni l'utilizzo delle funzioni risulta facilitato, in quanto vengono effettuate automaticamente le seguenti operazioni:
Vengono inserite correttamente le virgolette negli argomenti delle funzioni.
Vengono verificati i tipi di dati degli argomenti.
Vengono verificati i tipi di dati dei valori restituiti.
Per ulteriori informazioni sulle funzioni supportate dal database, vedere la documentazione del database.
Nota
È possibile utilizzare un gruppo speciale di funzioni, le funzioni di aggregazione quali SUM( ) e AVG( ), per creare query che generano riepiloghi di dati.Per informazioni dettagliate, vedere Riepilogo dei risultati delle query.
Funzioni stringa
Le funzioni di modifica delle stringhe di caratteri riportate di seguito sono un esempio delle funzioni disponibili in molti database.
Funzione |
Descrizione |
Esempio |
---|---|---|
LCASE( )*, LOWER( ) |
Converte le stringhe in caratteri minuscoli. |
Per convertire il primo carattere in lettere maiuscole, utilizzare
Per convertire i caratteri restanti in lettere minuscole, utilizzare:
Visualizza il cognome dopo aver convertito in maiuscolo il primo carattere e in minuscolo gli altri caratteri. |
LTRIM( ) |
Rimuove gli spazi iniziali in una stringa. |
Visualizza una colonna indirizzo dopo aver eliminato gli spazi iniziali inutili. |
SUBSTRING( ) |
Estrae uno o più caratteri da una stringa. |
Visualizza i primi tre caratteri (il prefisso) di un numero di telefono. |
UCASE( )*, UPPER( ) |
Converte le stringhe in caratteri maiuscoli. |
Converte il contenuto della colonna lname in caratteri maiuscoli prima di confrontarlo con un valore specifico in modo da trovare solo le corrispondenze esatte se per la ricerca viene applicata la distinzione tra maiuscole e minuscole. |
* Se si richiama una funzione ODBC, utilizzare una sintassi quale: { fn LCASE(text) }.
Funzioni data
Le funzioni riportate di seguito o altre simili sono disponibili in molti database.
Funzione |
Descrizione |
Esempio |
---|---|---|
DATEDIFF( ) |
Calcola un intervallo fra due date. |
Trova tutti i dipendenti assunti da più di cinque anni. |
DATEPART( ) |
Restituisce la parte specificata di una colonna data o DateTime, compreso il giorno, il mese o l'anno. |
Visualizza soltanto l'anno di assunzione di un dipendente (non la data completa). |
CURDATE( )*, GETDATE( ) o DATE( ) |
Restituisce la data corrente nel formato DateTime. Questa funzione risulta utile come input per numerose funzioni sulle date, ad esempio quelle che calcolano un intervallo precedente o successivo rispetto alla data odierna. |
|
Funzioni matematiche
Nella maggior parte dei database sono disponibili funzioni matematiche che possono essere utilizzate per eseguire calcoli. Di seguito vengono riportate alcune funzioni di base disponibili in molti database.
Nota
È possibile utilizzare le funzioni di aggregazione AVG( ), COUNT( ), MAX( ), MIN( ) e SUM() per creare medie e totali nei report.
Funzione |
Descrizione |
Esempio |
---|---|---|
ROUND( ) |
Arrotonda un numero rispetto a un numero di posizioni decimali specificate |
Visualizza un prezzo totale in base a uno sconto, quindi arrotonda i risultati a due posizioni decimali. |
FLOOR( ) |
Arrotonda un numero per difetto al numero intero più prossimo |
Arrotonda per difetto tutti i prezzi nella tabella titles al numero intero più prossimo. |
CEILING( ) |
Arrotonda un numero per eccesso al numero intero più prossimo |
Copia title e price (arrotondati per eccesso al numero intero più prossimo) dalla tabella titles nella tabella archivetitle. |
Funzioni di sistema
Nella maggior parte dei database sono disponibili funzioni speciali che possono essere utilizzate per restituire informazioni sul database, sull'utente o sul server corrente. Di seguito vengono riportate alcune funzioni di base disponibili in molti database.
Funzione |
Descrizione |
Esempio |
---|---|---|
DATALENGTH( ) |
Restituisce il numero di byte utilizzati dall'espressione specificata. |
Elenca il numero di byte richiesto per i cognomi e i nomi. |
USER( )*, USER_NAME( ) |
Restituisce il nome dell'utente corrente. |
Crea un elenco di clienti del venditore che esegue la query. |
Altre funzioni
Oltre alle funzioni sopra elencate, in alcuni database sono disponibili funzioni che rendono più agevole la creazione delle query, ad esempio funzioni per la conversione dei tipi di dati o altre funzioni di utilità. Le funzioni elencate di seguito mostrano il tipo delle funzioni di utilità disponibili nella maggior parte dei database.
Funzione |
Descrizione |
Esempio |
---|---|---|
CONVERT( ) |
Converte i dati da un tipo di dati a un altro. Utile per formattare i dati o per utilizzare il contenuto di una colonna di dati come argomento in una funzione che richiede un diverso tipo di dati. |
Visualizza una data con una didascalia. La funzione CONVERT( ) crea una stringa dalla data, in modo da poterla concatenare con una stringa letterale. |
SOUNDEX( ) |
Restituisce il codice Soundex per l'espressione specificata, che può essere utilizzato per creare ricerche di parole simili. |
Ricerca i nomi che hanno una pronuncia simile a "Michael". |
STR( ) |
Converte dati numerici in una stringa di caratteri per poterli manipolare con operatori di testo. |
Visualizza la colonna job_id come singola stringa. |