比較運算子

比較運算子可讓您將運算式左邊的值與運算式右邊的值互相比較。
(left-hand side) (operator) (right-hand side)

運算結果會產生 truefalse 結果的布林值,可用來當做是否要在資料列或資料欄上執行轉換決定的依據。系統支援下列運算子:

運算子名稱符號運算式範例輸出附註
小於<

3 < 6

true
小於或等於<=

6 <= 5

false下列運算子會產生錯誤:=<
大於>

3 > 6

false
大於或等於>=

6 >= 5

true下列運算子會產生錯誤:=>
等於==4 == 4true這個比較運算子必須使用兩個等於符號,否則就會產生錯誤。
不等於

<>

!=

4 <> 4false

系統支援這兩種運算子。

下列運算子會產生錯誤:=!

上述範例僅適用於整數值,您可以在下面查閱如何將比較運算子套用至不同的資料類型。

用量

比較運算子是用來判斷一組資料的條件。通常會在計算值或資料列時,套用這些運算子。

舉例而言,您的資料集如下所示:

city
San Francisco
Los Angeles
Chicago
New York

您可以使用下列轉換來標記 city 值等於 San Francisco 的所有資料列:

derive type:single value:(city == 'San Francisco')

您的輸出結果應會如下所示:

citycolumn1
San Franciscotrue
Los Angelesfalse
Chicagofalse
New Yorkfalse

您可以選擇將上述資料與 IF 函式結合,該函式可讓您寫入結果為 truefalse 的值:

derive type:single value:IF(city == 'San Francisco', 'Home of the Giants!', 'Some other team') as:'BaseballTeam'

請注意,您可選擇使用 as: 子句來重新命名系統所產生的資料欄。請參閱 Derive 轉換一文。

cityBaseballTeam
San FranciscoHome of the Giants!
Los AngelesSome other team
ChicagoSome other team
New YorkSome other team

範例

注意:將比較套用到一組值上時,系統會重新推測每個來源值的資料類型,以和運算式另一端所使用的任何常值交互比對。此方法可讓您執行更強大的比較作業。

在下例中,系統會重設取自 MySource 資料欄的值類型,以符合比較作業在運算式另一端使用的資料類型。

小於 (或等於)

資料欄類型轉換範例輸出附註
整數

derive type:single value:(MySource < 5)

  • MySource 中,小於 5 的所有值皆為 true
  • 否則為 false
小數

keep row:(MySource <= 2.5)

保留資料集中 MySource 資料欄的值小於或等於 2.5 的所有資料列。
日期時間

keep row:(Date <= DATE(2009,12,31))

保留 Date 資料欄中,值小於或等於 12/31/2009 的所有資料列。您也可以使用 DATEDIF 函式產生兩個日期值之間的天數差。然後您可以將此差異與其他值相比。請參閱 DATEDIF 函式一文。
字串 (和所有其他資料類型)

derive type:single value:(LEN(MySource) < 5))

  • MySource 資料欄中,值的長度小於 5 個字元則為 true
  • 否則為 false
  • 請參閱 LEN 函式一文。
  • 為了完成比較,之前未列在此表中的所有資料類型均當成字串。
  • 由於字串為非數字值,因此必須套用函式才能將字串資料轉譯為比較。

大於 (或等於)

請參閱先前章節。

等於

資料欄類型轉換範例輸出附註
整數

derive type:single value:(MySource == 5)

  • MySource 中,等於 5 所有值皆為 true
  • 否則為 false
如果來源資料欄包含小數值,且小數點右邊為整數值,亦是整數的小數值在比較時會符合條件 (例如 2.0 == 2)。
小數

keep row:(MySource == 2.5)

保留資料集的 MySource 資料欄中,值只為 2.5 的所有資料列。如果來源資料欄包含整數,且小數點右邊為小數類型值,整數值會四捨五入以進行比較。
日期時間

keep row:(Date == DATE(2016,12,25))

保留 Date 資料欄中,值等於 12/25/2016 的所有資料列。
字串 (和所有其他資料類型)

keep row:(LEN(MySource) == 5))

保留資料集的 MySource 中,字串值長度為 5 個字元的所有資料列。
  • 為了完成比較,之前未列在此表中的所有資料類型均當成字串。
  • 由於字串為非數字值,因此必須套用函式才能將字串資料轉譯為比較。

不等於

資料欄類型轉換範例輸出附註
整數

derive type:single value:(MySource <> 5)

  • MySource 資料集中,值不是 5 的所有值為 true
  • 否則為 false
如果來源資料欄包含小數值,且小數點右邊為整數值,亦是整數的小數值在比較時會符合條件 (例如 2.0 == 2 )。
小數

keep row:(MySource <> 2.5)

保留資料集的 MySource 資料欄中,值不等於 2.5 的所有資料列。如果來源資料欄包含整數,且小數點右邊為小數類型值,整數值會四捨五入以進行比較。
日期時間

keep row:(Date <> DATE(2016,4,15))

保留資料集的 Date 資料欄中,值不等於 4/15/2016 的所有資料列。
字串 (和所有其他資料類型)

keep row:(LEN(MySource) <> 5))

保留資料集的 MySource 中,字串值長度不是 5 個字元的所有資料列。
  • 為了完成比較,之前未列在此表中的所有資料類型均當成字串。
  • 由於字串為非數字值,因此必須套用函式才能將字串資料轉譯為比較。

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

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

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