文字函數

可從「文字函數」功能表取得文字函數。其對文字性質進行運算並有助於格式化與文字相關之查詢的結果。這些函數可用於每個資料 Provider (Raster Provider、WFS Provider 和 WMS Provider 除外)。

當您建立空間圖徵的表示式時,可以使用以下文字函數:

函數 定義 語法 範例

CONCAT

將多個字串接合為一個字串。

CONCAT 可接受任意數目引數,這些引數可為除幾何圖形性質或點陣式性質之外的任意性質類型。傳回值使用字串資料類型。

當您使用標準型式時,請使用 ‘\n’ 來插入分行符號。當您使用增強型式時,請使用 '\P' 來插入分行符號。這些參數是區分大小寫的。

若要加入靜態文字標示或空格,請用單引號將它們括住。

Concat 與布林性質配合使用時,運算結果將為 1/0 (不是 True/False)。

CONCAT(Property, Property, ...)

CONCAT(First_Name, ‘ ‘Last_Name,’\P’ ‘Address: ‘, Street_number, ‘ ‘, Street_name, ‘ ‘, Suffix)

此範例產生的標示如下所示:

John Smith

Address: 123 Maple Street

INSTR

查詢一個子字串在另一個字串中首次出現的位置。將來源字串指定為第一個引數,將所搜尋的字串指定為第二個引數。返回具有 Int64 資料類型的整數。

INSTR(Text property or value, Text property or value)

INSTR(Parcel_Owner,'field)

此範例在宗地擁有者字串中尋找子字串「field」。

如果宗地擁有者的名字為 Smithfield,則傳回的值將為 6。

LENGTH

以具有 Int64 資料類型的整數傳回指定字串的字元數。不包括結尾空白字元。

LENGTH(Text_property)

LENGTH(First_Name)

此範例尋找名字性質中的字元數。

LOWER

將文字轉換成小寫。傳回值使用字串資料類型。

LOWER(Text_property)

LOWER(Product_Name)

此範例將一個產品名稱詞條變更為小寫 (例如,將 PIPE COMPOUND 變更為 pipe compound)。

LPAD

使用指定的字元加長字串的左側。傳回值使用字串資料類型。

LPAD 可接受兩到三個參數。如果不指定文字字元引數,則會使用一個空格字元。

LPAD(Text_property, Number of characters,'text character')

LPAD(High_Prority,3,'*')

此範例展示在性質 High_Priority (例如,「Emergency Repair」) 前面加上 *** 的值。

LTRIM

從文字字串左側修剪字元。傳回值使用字串資料類型。

LTRIM(Text_property)

LTRIM(Parcel_ID)

此範例移除宗地識別碼中的前導字元。

RPAD

使用指定的字元加長字串的右側。傳回值使用字串資料類型。

RPAD 可接受兩到三個參數。如果不指定文字字元引數,則會使用一個空格字元。

RPAD(Text_property, Number of characters,'text character')

RPAD(Costly_Repair,3,$)

此範例展示在性質 Costly_Repair (例如,「Complete Redesign」) 的結尾加上 $$$ 的值。

RTRIM

從文字字串的右側修剪字元 (結尾字元)。傳回值使用字串資料類型。若要移除前導字元,請使用 TRIM。

請參閱〈TRIM〉

RTRIM(Text_property)

RTRIM(Parcel_ID)

此範例移除跟在宗地識別碼後面的字元。

SOUNDEX

傳回聽起來像指定文字字串的名字 (英語)。傳回值使用字串資料類型。

基礎 RDBMS 可演算包括 SOUNDEX 函數的任何表示式。但是,MySQL Provider 所提供的結果可能與您從其他 Provider 收到的值有差異。

SOUNDEX(Text_property) = SOUNDEX('text string')

SOUNDEX(Last_Name) = SOUNDEX('Smith')

此範例尋找聽起來像 Smith (例如,「Smythe」) 的姓氏。

SUBSTR

從字串中萃取子字串。如果開始位置為 0,則會將其當作 1。如果您為此位置指定一個負值,則表示式會從字串結尾處倒著計算。傳回值使用字串資料類型。

例如,SUBSTR('ABCDEFG',-6,4) 會找到 BCDE。

SUBSTR(Text_property, Starting position, Length of substring)

SUBSTR(Last_Name,0,4)

TRANSLATE

使用另一組字元取代一個字元佇列。傳回值使用字串資料類型。

例如,TRANSLATE('A GIS Specialist''s Guide to C#' ' ''#', '___') 會將所展示的書名轉換為「A_GIS_Specialist_s_Guide_to_C_」。原始標題需要額外的單引號作為跳脫字元。

TRANSLATE(Text_property,'from-text','to-text')

TRANSLATE(Comment_Property ' ''#', '___')

此範例將空格、引號和 # 字元變更成底線字元。

TRIM

修剪文字字串的前導字元。若要移除結尾字元,請使用 RTRIM。傳回值使用字串資料類型。

您可以指定一個可選引數:BOTH、LEADING 或 TRAILING。

如果不指定修剪字元,則假定為空格。

請參閱〈RTRIM〉

TRIM('optional_argument', Text_property)

TRIM(‘trailing’, Parcel_ID)

此範例修剪宗地 ID 中的結尾字元。

UPPER

將文字轉換成大寫。傳回值使用字串資料類型。

UPPER(Text property)

UPPER(Parcel_Owner)

此範例會將值「John McMansion」顯示為「JOHN MCMANSION」。