Espressioni (Motore di database)
Un'espressione è una combinazione di identificatori, valori e operatori che può essere valutata in SQL Server per ottenere un risultato. È possibile utilizzare i risultati in diversi contesti di accesso o modifica di dati. Le espressioni possono essere utilizzate, ad esempio, come parte dei dati da recuperare in una query, oppure come condizione per la ricerca di dati che soddisfino una serie di criteri.
Un'espressione può essere rappresentata dagli elementi seguenti:
Costante
Funzione
Nome colonna
Variabile
Sottoquery
CASE, NULLIF o COALESCE
Un'espressione può essere formata da combinazioni di tali elementi uniti da operatori.
Nell'istruzione SELECT seguente, per ogni riga del set di risultati SQL Server può risolvere LastName in un unico valore. L'istruzione, pertanto, è un'espressione.
USE AdventureWorks2008R2;
GO
SELECT LastName
FROM Person.Person;
Un'espressione può essere inoltre un calcolo, ad esempio (price * 1.5) o (price + sales_tax).
All'interno di un'espressione i valori di tipo carattere e datetime devono essere racchiusi tra virgolette singole. Nell'istruzione SELECT seguente il valore letterale B% utilizzato come modello per la clausola LIKE deve essere racchiuso tra virgolette singole:
USE AdventureWorks2008R2;
GO
SELECT LastName, FirstName
FROM Person.Person
WHERE LastName LIKE 'Bai%';
GO
Nell'istruzione SELECT seguente il valore della data è racchiuso tra virgolette:
USE AdventureWorks2008R2;
GO
SELECT c.FirstName, c.LastName, e.HireDate
FROM Person.Person c JOIN HumanResources.Employee e
ON c.BusinessEntityID = e.BusinessEntityID
WHERE e.HireDate = 'July 1, 2007';
GO
Nella query riportata nell'esempio seguente vengono utilizzate più espressioni. Ad esempio, Name, SUBSTRING, ProductNumber, ListPrice e 1.5 sono tutte espressioni.
USE AdventureWorks2008R2;
GO
SELECT Name,
SUBSTRING('This is a long string', 1, 5) AS SampleText,
ProductNumber,
ListPrice * 1.5 AS NewPrice
FROM Production.Product;