OceanBase 運(yùn)算符概述

2021-06-18 10:39 更新

運(yùn)算符一般用于連接運(yùn)算數(shù)或參數(shù)之類(lèi)的單個(gè)數(shù)據(jù)項(xiàng)且返回結(jié)果。從語(yǔ)法上講,運(yùn)算符出現(xiàn)在運(yùn)算數(shù)之前、之后或兩個(gè)運(yùn)算數(shù)之間均可。一般用特殊字符或關(guān)鍵字表示運(yùn)算符,例如,除法運(yùn)算符用斜杠(/)表示。本章討論非邏輯(非布爾)運(yùn)算符,這些運(yùn)算符本身不能用作查詢或子查詢的 WHERE 或 HAVING 條件。

本章將詳細(xì)介紹以下運(yùn)算符:

  • 算術(shù)運(yùn)算符
  • 串聯(lián)運(yùn)算符
  • 層次查詢運(yùn)算符
  • 集合運(yùn)算符

一元和二元運(yùn)算符

運(yùn)算符可分為兩大類(lèi):

  • 一元運(yùn)算符:一元運(yùn)算符僅對(duì)一個(gè)運(yùn)算數(shù)進(jìn)行運(yùn)算。一元運(yùn)算符常用格式:
運(yùn)算符 運(yùn)算數(shù)
  • 二元運(yùn)算符:二元運(yùn)算符顧名思義是對(duì)兩個(gè)運(yùn)算數(shù)進(jìn)行運(yùn)算。二元運(yùn)算符常用格式:
運(yùn)算數(shù)1 運(yùn)算符 運(yùn)算數(shù)2

其他具有特殊格式的運(yùn)算符可接受兩個(gè)以上的運(yùn)算數(shù)。如果為運(yùn)算符提供了空運(yùn)算數(shù)(NULL), 則結(jié)果始終為空。唯一不遵循此規(guī)則的是串聯(lián)(||)運(yùn)算符。

運(yùn)算符優(yōu)先級(jí)

優(yōu)先級(jí)會(huì)影響 OceanBase 數(shù)據(jù)庫(kù)在同一表達(dá)式中計(jì)算不同運(yùn)算符的順序。在計(jì)算包含多個(gè)運(yùn)算符的表達(dá)式時(shí),OceanBase 會(huì)先計(jì)算優(yōu)先級(jí)更高的運(yùn)算符,然后再計(jì)算優(yōu)先級(jí)較低的運(yùn)算符,優(yōu)先級(jí)相等時(shí),在表達(dá)式中從左到右對(duì)相等的運(yùn)算符求值。

下表列出了 SQL 運(yùn)算符中從高到低的優(yōu)先級(jí)。同一行上列出的運(yùn)算符具有相同的優(yōu)先級(jí)。

運(yùn)算符

運(yùn)算方式

+、-(作為一元運(yùn)算符)、PRIOR、CONNECT_BY_ROOT

正號(hào)、負(fù)號(hào)、層次結(jié)構(gòu)中的位置。

*、/

乘法、除法。

+、-(作為二元運(yùn)算符)、||

加、減、串聯(lián)。

條件表達(dá)式在數(shù)據(jù)庫(kù)評(píng)估完運(yùn)算符后再進(jìn)行評(píng)估

詳情請(qǐng)參閱文檔 SQL 條件概述。

在以下示例中,由于乘法的優(yōu)先級(jí)高于加法,因此數(shù)據(jù)庫(kù)首先將 2 乘以 3,然后再將結(jié)果加到 1。

1+2*3

您也可以在表達(dá)式中使用括號(hào)來(lái)限制運(yùn)算符優(yōu)先級(jí)。OceanBase 數(shù)據(jù)庫(kù)將先對(duì)括號(hào)內(nèi)的表達(dá)式求值,再對(duì)括號(hào)外部的表達(dá)式求值。

SQL 還支持集合運(yùn)算符(?UNION?、?UNION ALL?、?INTERSECT? 和 ?MINUS?),集合運(yùn)算符會(huì)合并查詢返回的行集,而不是單個(gè)數(shù)據(jù)項(xiàng)。所有集合運(yùn)算符都具有相同的優(yōu)先級(jí)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)