OceanBase SQL 表達式概述

2021-06-25 16:02 更新

表達式用來計算數據的值,它由一個或多個數值、運算符和 SQL 函數等組件組合而成,通常表達式中要為它的組件假定數據類型。

注意 
NLS_COMP 與 NLS_SORT 兩個參數值共同影響字符的排序與比較。如果在數據庫中 NLS_COMP 的值為LINGUISTIC,那么本章節(jié)中所有被提到的實體都會遵循參數 NLS_SORT 所指定的規(guī)則。如果 NLS_COMP 的值沒有被指定為 LINGUISTIC,那么函數將不會受 NLS_SORT 的影響。NLS_SORT 的值可以被直接指定,如果沒有被指定,它將繼承 NLS_LANGUAGE 的值。

下面這個簡單表達式的計算結果為 4,數據類型為 NUMBER (與組件的數據類型一致)。

2*2

如下是一個使用了函數和運算符的復雜表達式。這個表達式表示將當前日期增加 7 天,然后移除時間部分,最后將結果轉換成 CHAR 數據類型。

TO_CHAR(TRUNC(SYSDATE+7))

您還可以在如下情形中使用表達式:

  • SELECT 語句的選擇列中。
  • WHERE 子句中和 HAVING 子句中。
  • CONNECT BY、START WITH 和 ORDER BY 子句中。
  • INSERT 語句的 VALUES 子句中。
  • UPDATE 語句的 SET 子句中。

例如,在下面的 UPDATE 語句的 SET 子句中您可以使用一個表達式替換字符串 Smith

SET last_name = 'Smith';

這個 SET 子句使用表達式 INITCAP(last_name) 替代字符串 Smith

SET last_name = INITCAP(last_name);

OceanBase 數據庫中,并不是所有表達式都可以直接被任意 SQL 語句使用,請參考 SQL語句 章節(jié)中關于表達式的限制。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號