STRINGGREATERTHAN 函式

如果此函式依據一組通用的對照規則,將第一個字串求得的值大於第二個字串,則會傳回 true

來源值可以是字串常值、資料欄參照或求出值為字串的運算式。

基本用法

字串常值參照範例:

derive type:single value:STRINGGREATERTHAN('a','b') as:'stringCompare'

輸出:在新資料欄 stringCompare 中產生 false,因為 a 求得的值小於 b

字串常值參照範例:

derive type:single value:STRINGGREATERTHAN('a','ab') as:'stringCompare'

輸出:在新資料欄 stringCompare 中產生 false,因為第二個字串包含額外的字母。

字串常值參照範例:

derive type:single value:STRINGGREATERTHAN('abc','x') as:'stringCompare'

輸出:在新資料欄 stringCompare 中產生 false,因為第一個字串的第一個字母小於第二個字串的第一個字母。

資料欄參照範例:

derive type:single value:STRINGGREATERTHAN(string1,string2) as:'stringCompare'

輸出:產生新資料欄 stringCompare,其中含有求出的 string1 資料欄值 (大於 string2 資料欄值)。

定序規則

定序是指將寫入的內容整理成標準化順序。字串比較函式會利用拉丁文字元的定序規則。規則摘要如下:

  • 進行比較時會區分大小寫。
    • 相同字母的大寫字體版本大於小寫字體版本。
    • 但在字母表中位置在後面的小寫字母大於位置在前的大寫字母。
  • 如果兩個字串完全相同,則為相等。
    • 如果兩個字串相同,但第二個字串的結尾含有一個額外的字元,則第二個字串較大。
  • 正規化版夲的字母是不帶有重音符號的小寫版本字母。在字串比較中,這是所有變異項中的最小值。
    • a 小於 ă。
    • 但與 b 相比較時,a = ă。
    • 拉丁文正規化字元集含有 26 個以上的字元。

下表說明拉丁文字元定序的部分通用規則。

順序說明較小範例較大範例
1空白字元(空格鍵)(Return 鍵)
2標點符號'@
3數字12
4字母aA
5 Ab

資源:

注意:在以下圖表中 (見下方連結),頁面頂端的值小於頁面下方列出的值。同樣的,左側導覽列中列出的圖表也是按遞增順序排列。

如要進一步瞭解適用的定序規則,請參閱 http://www.unicode.org/charts/collation/

語法

derive type:single value:STRINGGREATERTHAN(string_ref1,string_ref2)

引數是否必要?資料類型說明
string_ref1字串要套用於函式的第一個資料欄名稱或第一個字串文字
string_ref2字串要套用於函式的第二個資料欄名稱或第二個字串文字

如要進一步瞭解語法標準,請參閱語言文件語法附註一文。

string_ref1、string_ref2

字串常值、資料欄參照或運算式,其中含有您想要依據這個函式來進行比較的元素。

使用須知:

是否必要?資料類型範例值
字串常值、資料欄參照或得出結果為字串的運算式myString1, myString2

範例

範例:簡易字串比較

下列範例會示範可用來比較兩組字串的函式。這些函式包括:

  • STRINGGREATERTHAN - 如果第一個字串大於第二個字串,則得出 true。請參閱 STRINGGREATERTHAN 函式一文。
  • STRINGGREATERTHANEQUAL - 如果第一個字串大於或等於第二個字串時,則得出 true。請參閱 STRINGGREATERTHANEQUAL 函式一文。
  • STRINGLESSTHAN - 如果第一個字串小於第二個字串時,則得出 true。請參閱 STRINGLESSTHAN 函式一文。
  • STRINGLESSTHANEQUAL - 如果第一個字串小於或等於第二個字串時,則得出 true。請參閱 STRINGLESSTHANEQUAL 函式一文。
  • EXACT - 如果第一個字串與第二個字串完全符合,則得出 true。請參閱 EXACT 函式一文

來源:

下表含有待比較的字串範例。

rowIdstringAstringB
1aa
2aA
3ab
4a1
5a;
6;1
7a a
8aaa
9abcx

請注意,編號 6 的資料列中,stringB 的開頭為空格字元。

轉換:

下列函式會套用於每一組字串,以產生含有比較結果的新資料欄。

derive type:single value: STRINGGREATERTHAN(stringA,stringB) as: 'greaterThan'

derive type:single value: STRINGGREATERTHANEQUAL(stringA,stringB) as: 'greaterThanEqual'

derive type:single value: STRINGLESSTHAN(stringA,stringB) as: 'lessThan'

derive type:single value: STRINGLESSTHANEQUAL(stringA,stringB) as: 'lessThanEqual'

derive type:single value: EXACT(stringA,stringB) as: 'exactEqual'

結果:

已在下表中手動新增 Notes 資料欄。

rowIdstringAstringBlessThanEquallessThangreaterThanEqualgreaterThanexactEqual附註
1aatruefalsetruefalsetrue計算 STRINGLESSTHANSTRINGGREATERTHAN 之間的差異,以及大於版本的差異。
2aAtruetruefalsefalsefalse進行比較時會區分大小寫。大寫字母大於小寫字母。
3abtruetruefalsefalsefalse
字母表中位置較後的字母 (b) 大於位置較前的字母 (a)。
4a1falsefalse
true true false
字母 (a) 大於數字 (1)。
5a;falsefalsetruetruefalse字母 (a) 大於非英數字元 (;)。
6;1truetruefalsefalsefalse

數字 (1) 大於非英數字元 (;)。因此下列字元會以計算順序排列。


Aa1;
7a afalsefalsetruetruefalse字母 (和任何無中斷的字元) 皆大於空格值。
8aaatruetruefalsefalsefalse由於第二個字串的結尾包含一個額外字串,因此第二個字串比較大。
9abcxtruetruefalsefalsefalse由於第二個字串的第一個字母大於第一個字串的第一個字母,因此排序較前。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁