運算式 (Database Engine)

運算式為 SQL Server 可以評估而取得結果的識別碼、數值與運算子的組合。當您存取或變更資料時,資料可以用在幾個不同的地方。舉例來說,運算式在使用上可以作為查詢中所要擷取之資料的一部份,或是作為搜尋條件來尋找符合一組條件的資料。

運算式可以是下列任一項:

  • 常數

  • 函數

  • 資料行名稱

  • 變數

  • 子查詢

  • CASE、NULLIF 或 COALESCE

運算式也可以從上述項目利用運算子聯結的組合來建立。

在下列 SELECT 陳述式中,SQL Server 可以將結果集中每個資料列的 LastName 解析為單一值。因此,這是運算式。

USE AdventureWorks2008R2;
GO
SELECT LastName 
FROM Person.Person;

運算式也可以是一種計算,例如 (price * 1.5) 或 (price + sales_tax)。

運算式中的字元和 datetime 值都加上單引號。在下列 SELECT 陳述式中,作為 LIKE 子句樣式的字元常值 B% 必須位於單引號之間:

USE AdventureWorks2008R2;
GO
SELECT LastName, FirstName 
FROM Person.Person 
WHERE LastName LIKE 'Bai%';
GO

在下列 SELECT 陳述式中,日期值都加上單引號。

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

在下列範例中,用於查詢的運算式不止一個。例如,Name、SUBSTRING、ProductNumber、ListPrice 和 1.5 都是運算式。

USE AdventureWorks2008R2;
GO
SELECT Name, 
   SUBSTRING('This is a long string', 1, 5) AS SampleText, 
   ProductNumber, 
   ListPrice * 1.5 AS NewPrice
FROM Production.Product;