本節包含 Entity SQL 參考文章。 本文摘要說明實體 SQL 運算子的分類。
算術運算子
算術運算符會對兩個數值類型的運算式進行數學運算。 下表列出 Entity SQL 算術運算子:
操作員 | 使用 |
---|---|
+ (新增) | 加法。 |
/(除) | 劃分。 |
% (模數) | 傳回除法的餘數。 |
* (乘) | 乘法。 |
- (負面) | 否定。 |
- (減) | 減法。 |
標準函式
標準函式受到所有數據提供者的支援,而且可供所有查詢技術使用。 下表列出標準函式:
功能 | 類型 |
---|---|
匯總實體 SQL 標準函式 | 討論匯總實體 SQL 標準函式。 |
數學標準函式 | 討論數學實體 SQL 標準函式。 |
字串標準函式 | 討論 Entity SQL 字串標準函式。 |
日期和時間標準函式 | 討論實體 SQL 標準函式的日期和時間。 |
位元規範性函式 | 討論位元運算 Entity SQL 標準函數。 |
其他標準函式 | 討論未將函式分類為位元運算、日期/時間、字串、數學或匯總的類別。 |
比較運算子
比較運算子是針對下列類型所定義:Byte
、Int16
、Int32
、Int64
、Double
、Single
、Decimal
、String
、DateTime
、Date
、Time
、DateTimeOffset
。 隱含類型升級會在套用比較運算符之前,對操作數發生。 比較運算子一律會產生布爾值。 當至少有一個作數為 null
時,結果為 null
。
對具有身分識別的任何物件類型定義相等和不相等,例如 Boolean
類型。 如果具有識別的非基本物件共用相同的識別,則會視為相等。 下表列出 Entity SQL 比較運算子:
操作員 | 說明 |
---|---|
= (等於) | 比較兩個表達式的相等。 |
> (大於) | 比較兩個表達式,以判斷左表達式的值是否大於右表達式。 |
>= (大於或等於) | 比較兩個表達式,以判斷左表達式的值是否大於或等於右表達式。 |
IS [NOT] NULL | 判斷查詢表達式是否為 Null。 |
< (小於) | 比較兩個表達式,以判斷左表達式的值是否小於右表達式。 |
<= (小於或等於) | 比較兩個表達式,以判斷左表達式的值是否小於或等於右表達式。 |
[不是]介於範圍之間 | 判斷表達式是否會導致指定範圍中的值。 |
!= (不等於) | 比較兩個表達式,以判斷左表達式是否不等於右表達式。 |
[NOT]喜歡 | 判斷特定字元字串是否符合指定的模式。 |
邏輯和案例表達式運算符
邏輯運算子會測試條件的真相。 CASE 運算式會評估一組布爾表達式來判斷結果。 下表列出了邏輯運算子和 CASE 表達式運算子:
操作員 | 說明 |
---|---|
&& (邏輯 AND) | 邏輯 AND。 |
! (邏輯非) | 邏輯非 |
||(邏輯 OR) | 邏輯 OR。 |
案例 (Assuming "CASE" refers to an instance or example. Adjust as necessary based on additional context.) | 評估一組布爾表達式來判斷結果。 |
然後 | 當 WHEN 子句評估為 true 時的結果。 |
查詢運算子
查詢運算子可用來定義傳回實體數據的查詢表達式。 下表列出查詢運算子:
操作員 | 使用 |
---|---|
來自 | 指定 SELECT 語句中使用的集合。 |
GROUP BY | 指定要放置查詢 (SELECT) 表示式所傳回物件的群組。 |
群組分區 | 返回與匯總相關聯的組群分區中投影的參數值集合。 |
擁有 | 指定群組或匯總的搜尋條件。 |
限制 | 與 ORDER BY 子句搭配使用,以執行實體分頁。 |
根據 排序 | 指定在 SELECT 語句中傳回之物件上使用的排序順序。 |
選擇 | 指定查詢中投影所傳回的元素。 |
跳過 | 與 ORDER BY 子句搭配使用,以執行實體分頁。 |
返回頁首 | 指定只會從查詢結果傳回第一組數據列。 |
在 | 有條件地篩選查詢所傳回的數據。 |
參考運算子
參照是指向特定實體集中特定實體的邏輯指向(外鍵)。 Entity SQL 支援下列運算符來建構、解構及巡覽參考:
操作員 | 使用 |
---|---|
CREATEREF | 建立實體集中對實體的引用。 |
DEREF | 取值參考值,併產生該取值的結果。 |
鑰匙 | 擷取參考或實體表達式的鍵值。 |
導航 | 使您能探索從某個實體類型到另一個實體類型的關係 |
參考 | 傳回實體實例的參考。 |
設定運算子
Entity SQL 提供各種功能強大的集合作業。 這包括類似 Transact-SQL 運算子的集合運算符,例如 UNION、INTERSECT、EXCEPT 和 EXISTS。 Entity SQL 也支援重複消除 (SET)、成員資格測試 (IN) 和聯結 (JOIN) 的運算符。 下表列出 Entity SQL set 運算子:
操作員 | 使用 |
---|---|
ANYELEMENT | 從多值集合擷取元素。 |
除外 | 傳回在 EXCEPT 運算元左邊的查詢表達式中的任何相異值集合,這些相異值沒有在 EXCEPT 運算元右邊的查詢表達式中出現。 |
[NOT]存在 | 判斷集合是否為空白。 |
扁平 化 | 將多重集合轉換成扁平化集合。 |
[NOT]不在 | 判斷值是否符合集合中的任何值。 |
相交 | 傳回由 INTERSECT 運算子左側和右側查詢表達式所傳回的任何不同值的集合。 |
重疊 | 判斷兩個集合是否具有通用元素。 |
設定 | 用來將物件的集合體轉換成一個集合,通過產生一個移除所有重複元素的新集合。 |
聯盟 | 將兩個或多個查詢的結果合併成單一集合。 |
類型運算子
Entity SQL 提供操作,允許建構、查詢及操作表達式類型(值)。 下表列出用來處理類型的運算子:
操作員 | 使用 |
---|---|
演員陣容 | 將某個數據類型的表達式轉換成另一個數據類型。 |
收藏 | 用於 FUNCTION 作業,以宣告實體類型或複雜類型的集合。 |
是 [不是] 的 | 判斷表達式的類型是否為指定的型別或其子類型之一。 |
OFTYPE | 從特定類型的查詢表達式傳回 物件的集合。 |
具名類型建構函式 | 用來建立實體類型或複雜類型的實例。 |
MULTISET | 從值清單中建立 Multiset 的實例。 |
列 | 從一或多個值建構匿名的結構化型別記錄。 |
治療 | 將特定基底型別的物件視為指定衍生型別的物件。 |
其他運算子
下表列出其他 Entity SQL 運算子:
操作員 | 使用 |
---|---|
+ (字串串連) | 用來串連 Entity SQL 中的字串。 |
. (成員存取) | 用來存取結構概念模型類型實例的屬性或欄位值。 |
-- (批註) | 包含 Entity SQL 註解。 |
功能 | 定義可在 Entity SQL 查詢中執行的內嵌函式。 |