編輯運算式 expression
編輯運算式需要手動輸入條件以形成規則。此模式可讓您使用進階函式,這些函式可讓您控制用於執行特定查詢的值,例如控制日期、字串、數值欄位、排序等。
使用運算式編輯器 edit
設定自訂條件時,屬性和 值 欄位可使用查詢模型器 編輯運算式 按鈕中的運算式編輯器。
從「屬性」欄位存取
從「值」欄位存取
運算式編輯器提供:
- 定義運算式的輸入欄位(1)。
- 可用的 欄位(2) 清單,可用於運算式中,並與查詢的結構描述(也稱為目標維度)相對應。
- 協助程式函式 (3),依類別排序。
直接在輸入欄位中輸入運算式以編輯運算式。若要新增欄位或協助程式函式,請將游標置於要新增的運算式上,然後按一下「+」按鈕。
當運算式準備就緒時,請按一下 確認 按鈕。 運算式會顯示在選取的欄位中。 若要編輯,請開啟運算式編輯器並進行所需的變更。
下列範例顯示為 值 欄位設定的運算式。 若要編輯它,您必須使用 編輯運算式 按鈕開啟運算式編輯器。
協助程式功能
查詢編輯工具可讓您使用進階功能,根據所需結果和操作資料的類型執行複雜的篩選。可使用下列函式:
日期
日期函式可用來控制日期或時間值。
Google BigQuery
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 40-row-4 41-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| AddYears | 將指定的年數新增到提供的日期時間。 | AddYears(<DATETIME>, <NUMBER>) | AddYears("2019-12-25 15:30:00", 3) |
| AddMonths | 將指定的月數新增到提供的日期時間。 | AddMonths(<DATETIME>, <NUMBER>) | AddMonths("2019-12-25 15:30:00", 6) |
| AddDays | 將指定的天數新增至提供的日期時間。 | AddDays(<DATETIME>, <NUMBER>) | AddDays("2019-12-25 15:30:00", 10) |
| AddHours | 將指定的小時數新增到提供的日期時間。 | AddHours(<DATETIME>, <NUMBER>) | AddHours("2019-12-25 15:30:00", 3) |
| AddMinutes | 將指定的分鐘數新增到提供的日期時間。 | AddMinutes(<DATETIME>, <NUMBER>) | AddMinutes("2019-12-25 15:30:00", 32) |
| AddSeconds | 將指定的秒數新增到提供的日期時間。 | AddSeconds(<DATETIME>, <NUMBER>) | AddSeconds("2019-12-25 15:30:00", 37) |
| SubYears | 將指定的年數減去提供的日期時間。 | SubYears(<DATETIME>, <NUMBER>) | SubYears("2019-12-25 15:30:00", 3) |
| SubMonths | 將指定的月數減去提供的日期時間。 | SubMonths(<DATETIME>, <NUMBER>) | SubMonths("2019-12-25 15:30:00", 6) |
| SubDays | 將指定的天數減去提供的日期時間。 | SubDays(<DATETIME>, <NUMBER>) | SubDays("2019-12-25 15:30:00", 10) |
| SubHours | 將指定的小時數減去提供的日期時間。 | SubHours(<DATETIME>, <NUMBER>) | SubHours("2019-12-25 15:30:00", 3) |
| SubMinutes | 將指定的分鐘數減去提供的日期時間。 | SubMinutes(<DATETIME>, <NUMBER>) | SubMinutes("2019-12-25 15:30:00", 32) |
| SubSeconds | 將指定的秒數減去提供的日期時間。 | SubSeconds(<DATETIME>, <NUMBER>) | SubSeconds("2019-12-25 15:30:00", 37) |
| 年 | 從指定的datetime物件中擷取年份。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Month | 從指定的datetime物件中擷取月份。 | Month(<DATETIME>) | 月份("2019-12-15 15:30:00") |
| Day | 從指定的datetime物件中擷取日。 | Day(<DATETIME>) | Day("2019-12-15 15:30:00") |
| DayOfYear | 從指定的datetime物件中擷取一年中的第幾天。 例如,如果提供的日期時間是2月2日,則會傳回33。 | DayOfYear(<DATETIME>) | DayOfYear("2019-12-15 15:30:00") |
| WeekDay | 從指定的datetime物件中擷取一週中的某天,數值從0到6,0代表星期日。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Hour | 從指定的datetime物件中擷取小時值。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Minute | 從指定的datetime物件中擷取分鐘值。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Second | 從指定的datetime物件中擷取第二個值。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| YearsDiff | 找出指定日期時間之間的差異,並以年為粒度。 | YearsDiff(<DATETIME>, <DATETIME>) | YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsDiff | 尋找指定日期時間之間的差異,其粒度為月。 | MonthsDiff(<DATETIME>, <DATETIME>) | MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| DaysDiff | 找出指定日期時間之間的差異,並以天為粒度。 | DaysDiff(<DATETIME>, <DATETIME>) | DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| HoursDiff | 尋找指定日期時間之間的差異,其詳細程度為小時。 | HoursDiff(<DATETIME>, <DATETIME>) | HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MinutesDiff | 尋找指定日期時間之間的差異,其詳細程度為分鐘。 | MinutesDiff(<DATETIME>, <DATETIME>) | MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| SecondsDiff | 尋找指定日期時間之間的差異,其詳細程度為秒。 | SecondsDiff(<DATETIME>, <DATETIME>) | SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| YearsOld | 找出指定日期時間與目前時間之間的差異,並以年為粒度。 | YearsOld(<DATETIME>) | YearsOld("2019-12-25 15:30:00") |
| MonthsOld | 找出指定日期時間與目前時間之間的差異,粒度為月。 | MonthsOld(<DATETIME>) | MonthsOld("2019-12-25 15:30:00") |
| DaysOld | 找出指定日期時間與目前時間之間的差異,並以天為粒度。 | DaysOld(<DATETIME>) | DaysOld("2019-12-25 15:30:00") |
| GetDate | 取得伺服器的目前日期。 | GetDate() | GetDate() |
| DateOnly | 將日期時間截斷為只有年、月和日。 | DateOnly(<DATETIME>) | DateOnly("2019-12-25 15:30:00") |
| ToDate | 將欄位轉換為日期欄位。 | ToDate(<DATETIME>) | ToDate("2019-12-25 15:30:00") |
| ToDateTime | 將欄位轉換為日期時間欄位。 | ToDateTime(<DATE>) | ToDateTime("2019-12-25 15:30:00") |
| ToTimestamp | 將欄位轉換為時間戳記欄位。 | ToTimestamp(<DATETIME>) | ToTimestamp("2019-12-25 15:30:00") |
| Oldest | 傳回提供的兩個日期之間的最早日期。 | Oldest(<DATETIME>, <DATETIME>) | Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14") |
| TruncDate | 根據指定的數值,將日期時間截斷為最接近的單位。 如果數值等於60,則會截斷至最接近的分鐘。 如果數值等於3600,則會截斷為最接近的小時。 如果數值等於86400,則會截斷至最接近的天數。 否則,會截斷至最接近的秒數。 | TruncDate(<DATETIME>, <NUMBER>) | TruncDate("2016-04-13 19:28:14", 3600) |
| TruncDateTZ | 根據指定的數值,將日期時間截斷為最接近的單位,並將日期時間設定為指定的時區。 如果數值等於60,則會截斷至最接近的分鐘。 如果數值等於3600,則會截斷為最接近的小時。 如果數值等於86400,則會截斷至最接近的天數。 | TruncDateTZ(<DATETIME>, <NUMBER>, <TIMEZONE>) | TruncDateTZ("2016-04-13 19:28:14", 3600, "America/Los_Angeles") |
| TruncTime | 將日期時間設為2000年1月1日,並根據給定的數值將剩餘的日期時間舍入至最接近的單位。如果數值等於60,則會截斷至最接近的分鐘。 如果數值等於3600,則會截斷為最接近的小時。 | TruncTime(<DATETIME>, <NUMBER>) | TruncTime("2016-04-13 19:28:14", 3600) |
| TruncQuarter | 將日期時間截斷為最接近季度中的第一個日期。 | TruncQuarter(<DATETIME>) | TruncQuarter("2016-04-13 19:28:14") |
| TruncYear | 將日期時間截斷為最接近年份中的第一個日期。 | TruncYear(<DATETIME>) | TruncYear("2016-04-13 19:28:14") |
| TruncWeek | 將日期時間截斷為最接近一週的星期日。 | TruncWeek(<DATETIME>) | TruncWeek("2016-04-13 19:28:14") |
Snowflake
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 40-row-4 41-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| AddYears | 將指定的年數新增到提供的日期時間。 | AddYears(<DATETIME>, <NUMBER>) | AddYears("2019-12-25 15:30:00", 3) |
| AddMonths | 將指定的月數新增到提供的日期時間。 | AddMonths(<DATETIME>, <NUMBER>) | AddMonths("2019-12-25 15:30:00", 6) |
| AddDays | 將指定的天數新增至提供的日期時間。 | AddDays(<DATETIME>, <NUMBER>) | AddDays("2019-12-25 15:30:00", 10) |
| AddHours | 將指定的小時數新增到提供的日期時間。 | AddHours(<DATETIME>, <NUMBER>) | AddHours("2019-12-25 15:30:00", 3) |
| AddMinutes | 將指定的分鐘數新增到提供的日期時間。 | AddMinutes(<DATETIME>, <NUMBER>) | AddMinutes("2019-12-25 15:30:00", 32) |
| AddSeconds | 將指定的秒數新增到提供的日期時間。 | AddSeconds(<DATETIME>, <NUMBER>) | AddSeconds("2019-12-25 15:30:00", 37) |
| SubYears | 將指定的年數減去提供的日期時間。 | SubYears(<DATETIME>, <NUMBER>) | SubYears("2019-12-25 15:30:00", 3) |
| SubMonths | 將指定的月數減去提供的日期時間。 | SubMonths(<DATETIME>, <NUMBER>) | SubMonths("2019-12-25 15:30:00", 6) |
| SubDays | 將指定的天數減去提供的日期時間。 | SubDays(<DATETIME>, <NUMBER>) | SubDays("2019-12-25 15:30:00", 10) |
| SubHours | 將指定的小時數減去提供的日期時間。 | SubHours(<DATETIME>, <NUMBER>) | SubHours("2019-12-25 15:30:00", 3) |
| SubMinutes | 將指定的分鐘數減去提供的日期時間。 | SubMinutes(<DATETIME>, <NUMBER>) | SubMinutes("2019-12-25 15:30:00", 32) |
| SubSeconds | AdSubtracts會將指定的秒數減去提供的日期時間。 | SubSeconds(<DATETIME>, <NUMBER>) | SubSeconds("2019-12-25 15:30:00", 37) |
| 年 | 從指定的datetime物件中擷取年份。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Month | 從指定的datetime物件中擷取月份。 | Month(<DATETIME>) | 月份("2019-12-15 15:30:00") |
| Day | 從指定的datetime物件中擷取日。 | Day(<DATETIME>) | Day("2019-12-15 15:30:00") |
| DayOfYear | 從指定的datetime物件中擷取一年中的第幾天。 例如,如果提供的日期時間是2月2日,則會傳回33。 | DayOfYear(<DATETIME>) | DayOfYear("2019-12-15 15:30:00") |
| WeekDay | 從指定的datetime物件中擷取一週中的某天,數字從1到7,1代表星期日。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Hour | 從指定的datetime物件中擷取小時值。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Minute | 從指定的datetime物件中擷取分鐘值。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| Second | 從指定的datetime物件中擷取第二個值。 | Year(<DATETIME>) | 年("2019-12-15 15:30:00") |
| YearsDiff | 找出指定日期時間之間的差異,並以年為粒度。 | YearsDiff(<DATETIME>, <DATETIME>) | YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsDiff | 尋找指定日期時間之間的差異,其粒度為月。 | MonthsDiff(<DATETIME>, <DATETIME>) | MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| DaysDiff | 找出指定日期時間之間的差異,並以天為粒度。 | DaysDiff(<DATETIME>, <DATETIME>) | DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| HoursDiff | 尋找指定日期時間之間的差異,其詳細程度為小時。 | HoursDiff(<DATETIME>, <DATETIME>) | HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MinutesDiff | 尋找指定日期時間之間的差異,其詳細程度為分鐘。 | MinutesDiff(<DATETIME>, <DATETIME>) | MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| SecondsDiff | 尋找指定日期時間之間的差異,其詳細程度為秒。 | SecondsDiff(<DATETIME>, <DATETIME>) | SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27") |
| MonthsOld | 找出指定日期時間與目前時間之間的差異,粒度為月。 | MonthsOld(<DATETIME>) | MonthsOld("2019-12-25 15:30:00") |
| DaysOld | 找出指定日期時間與目前時間之間的差異,並以天為粒度。 | DaysOld(<DATETIME>) | DaysOld("2019-12-25 15:30:00") |
| GetDate | 取得伺服器的目前日期。 | GetDate() | GetDate() |
| DateOnly | 將日期時間截斷為只有年、月和日。 | DateOnly(<DATETIME>) | DateOnly("2019-12-25 15:30:00") |
| ToDate | 將欄位轉換為日期欄位。 | ToDate(<DATETIME>) | ToDate("2019-12-25 15:30:00") |
| ToDateTime | 將欄位轉換為日期時間欄位。 | ToDateTime(<DATE>) | ToDateTime("2019-12-25 15:30:00") |
| ToTimestamp | 將欄位轉換為時間戳記欄位。 | ToTimestamp(<DATETIME>) | ToTimestamp("2019-12-25 15:30:00") |
| Oldest | 傳回提供的兩個日期之間的最早日期。 | Oldest(<DATETIME>, <DATETIME>) | Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14") |
| TruncDate | 根據指定的數值,將日期時間截斷為最接近的單位。 如果數值等於60,則會截斷至最接近的分鐘。 如果數值等於3600,則會截斷為最接近的小時。 如果數值等於86400,則會截斷至最接近的天數。 否則,會截斷至最接近的秒數。 | TruncDate(<DATETIME>, <NUMBER>) | TruncDate("2016-04-13 19:28:14", 3600) |
| TruncDateTZ | 根據指定的數值,將日期時間截斷為最接近的單位,並將日期時間設定為指定的時區。 如果數值等於60,則會截斷至最接近的分鐘。 如果數值等於3600,則會截斷為最接近的小時。 如果數值等於86400,則會截斷至最接近的天數。 | TruncDateTZ(<DATETIME>, <NUMBER>, <TIMEZONE>) | TruncDateTZ("2016-04-13 19:28:14", 3600, "America/Los_Angeles") |
| TruncTime | 將日期時間設為2000年1月1日,並根據給定的數值將剩餘的日期時間舍入至最接近的單位。如果數值等於60,則會截斷至最接近的分鐘。 如果數值等於3600,則會截斷為最接近的小時。 | TruncTime(<DATETIME>, <NUMBER>) | TruncTime("2016-04-13 19:28:14", 3600) |
| TruncQuarter | 將日期時間截斷為最接近季度中的第一個日期。 | TruncQuarter(<DATETIME>) | TruncQuarter("2016-04-13 19:28:14") |
| TruncYear | 將日期時間截斷為最接近年份中的第一個日期。 | TruncYear(<DATETIME>) | TruncYear("2016-04-13 19:28:14") |
| TruncWeek | 將日期時間截斷為最接近一週的星期日。 | TruncWeek(<DATETIME>) | TruncWeek("2016-04-13 19:28:14") |
| ConvertNTZ | 將沒有時區的時間戳記轉換為具有時區的時間戳記。 附加的時區將是外部帳戶的時區。 | ConvertNTZ(<DATETIME>) | ConvertNTZ("2024-06-24 14:43:49") |
NOTE
請注意,Dateonly函式會考量伺服器的時區,而非運運算元的時區。
地理行銷
地理行銷函式用於操縱地理值。
Google BigQuery
| table 0-row-4 1-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| Distance | 傳回由經度和緯度定義的兩點之間的距離(以度為單位),以雙精度表示。 | Distance(<NUMBER>, <NUMBER>, <NUMBER>, <NUMBER>) | 距離(40.345, 39.2345, -35.5834, 34.599) |
Snowflake
| table 0-row-4 1-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| Distance | 傳回由經度和緯度定義的兩點之間的距離(以度為單位),以雙精度表示。 | Distance(<NUMBER>, <NUMBER>, <NUMBER>, <NUMBER>) | 距離(40.345, 39.2345, -35.5834, 34.599) |
數值
數值函數可用來將文轉換為數字。
Google BigQuery
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| Mod | 傳回第一個數字的餘數除以第二個數字。 | Mod(<NUMBER>, <NUMBER>) | Mod (3, 2) |
| Percent | 計算第一個數字佔第二個數字的百分比。 | Percent(<NUMBER>, <NUMBER>) | Percent(1, 2) |
| Random | 傳回介於0 (含)和1 (含)之間的隨機數字。 | Random() | 隨機() |
| Round | 將提供的數字傳回至要求的最接近的小數位數。 | Round(<NUMBER>, <NUMBER>) | Round(4.5394, 2) |
| ToDouble | 將提供的數字轉換為雙精度浮點數。 | ToDouble(<NUMBER>) | ToDouble(5) |
| ToInteger | 將提供的數字轉換為整數。 | ToInteger(<NUMBER>) | ToInteger(45) |
| ToInt64 | 將提供的數字轉換為64位元整數。 | ToInt64(<NUMBER>) | ToInt64(493) |
| Trunc | 將提供的數字截斷為請求的小數位數。 | Trunc(<NUMBER>, <NUMBER>) | Trunc(36.9348934, 3) |
Snowflake
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| Mod | 傳回第一個數字的餘數除以第二個數字。 | Mod(<NUMBER>, <NUMBER>) | Mod (3, 2) |
| Percent | 計算第一個數字佔第二個數字的百分比。 | Percent(<NUMBER>, <NUMBER>) | Percent(1, 2) |
| Random | 傳回介於0 (含)和1 (含)之間的隨機數字。 | Random() | 隨機() |
| ToDouble | 將提供的數字轉換為雙精度浮點數。 | ToDouble(<NUMBER>) | ToDouble(5) |
| ToInteger | 將提供的數字轉換為整數。 | ToInteger(<NUMBER>) | ToInteger(45) |
| ToInt64 | 將提供的數字轉換為64位元整數。 | ToInt64(<NUMBER>) | ToInt64(493) |
| Trunc | 將提供的數字截斷為請求的小數位數。 | Trunc(<NUMBER>, <NUMBER>) | Trunc(36.9348934, 3) |
其他
此表包含剩餘的可用函式。
Google BigQuery
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| Case | 如果運算式為true,則傳回第一個值。 否則,傳回第二個值。 | Case(When(<運算式> <值>), Else(<值>)) | Case(當(a > b, "yes"), Else("no")) |
| When | 用作Case函式的一部分。 用於檢查Case中的運算式。 | When(<運算式> <值>) | 當(a > b,「是」) |
| Else | 用作Case函式的一部分。 如果When運算式為false,可用來選擇其他選項。 | Else(<VALUE>) | 否則(「否」) |
| Coalesce | 傳回第一個非null值。 | Coalesce(<VALUE>, <VALUE>) | 合併(「」、「string」) |
| Decode | 如果值相等,則傳回第一個選項。 如果值不相等,則傳回第二個選項。 | Decode(<VALUE>, <VALUE>, <VALUE>, <VALUE>) | Decode(1, 2, "true", "false") |
| GetEmailDomain | 從提供的電子郵件地址中擷取網域。 | GetEmailDomain(<STRING>) | GetEmailDomain("sample@example.com") |
| Iif | 若條件為true,則傳回第一個選項,若條件為false,則傳回第二個選項。 | Iif(<CONDITION>, <VALUE>, <VALUE>) | Iif(10 < 20, "true", "false") |
| IsEmptyString | 如果字串為空,則傳回第一個選項。 否則,傳回第二個選項。 | IsEmptyString( <STRING> ,<VALUE>, <VALUE>) | IsEmptyString("string", "yes", "no") |
| NewUUID | 產生新的唯一UUID。 | NewUUID() | NewUUID() |
| NoNull | 如果提供的字串不是空的,則傳回該字串,如果提供的字串是空的,則傳回空字串。 | NoNull(<STRING>) | NoNull(「測試」) |
| IsBitSet | 對提供的數字執行位元和(&)。 這可讓您檢查第一個引數內的位元是否設定在第二個引數所提供的位置。 | IsBitSet(<NUMBER>, <NUMBER>) | IsBitSet(5, 3) |
| ClearBit | 這可讓您清除第二個引數所提供的位置之第一個引數中的位元。 | ClearBit(<NUMBER>, <NUMBER>) | |
| SetBit | 對提供的數字執行位元或(|)。 這可讓您設定第一個引數內的位元,此位元設定於第二個引數所提供的位置。 | SetBit(<NUMBER>, <NUMBER>) | SetBit(5, 3) |
| RowId | 傳回行號。 | RowId() | RowId() |
| ToBoolean | 將值轉換為布林值。 | ToBoolean(<VALUE>) | ToBoolean(a=b) |
Snowflake
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| Case | 如果運算式為true,則傳回第一個值。 否則,傳回第二個值。 | Case(When(<運算式> <值>), Else(<值>)) | Case(當(a > b, "yes"), Else("no")) |
| When | 用作Case函式的一部分。 用於檢查Case中的運算式。 | When(<運算式> <值>) | 當(a > b,「是」) |
| Else | 用作Case函式的一部分。 如果When運算式為false,可用來選擇其他選項。 | Else(<VALUE>) | 否則(「否」) |
| GetEmailDomain | 從提供的電子郵件地址中擷取網域。 | GetEmailDomain(<STRING>) | GetEmailDomain("sample@example.com") |
| Iif | 若條件為true,則傳回第一個選項,若條件為false,則傳回第二個選項。 | Iif(<CONDITION>, <VALUE>, <VALUE>) | Iif(10 < 20, "true", "false") |
| IsEmptyString | 如果字串為空,則傳回第一個選項。 否則,傳回第二個選項。 | IsEmptyString( <STRING> ,<VALUE>, <VALUE>) | IsEmptyString("string", "yes", "no") |
| ToBoolean | 如果值為true,則傳回1。 如果值為false,則傳回0。 | ToBoolean(<VALUE>) | ToBoolean(a=b) |
| ToBooleanType | 將值轉換為布林值。 | ToBooleanType(<VALUE>) | ToBooleanType(a=b) |
| IsBitSet | 對提供的數字執行位元和(&)。 這可讓您檢查第一個引數內的位元是否設定在第二個引數所提供的位置。 | IsBitSet(<NUMBER>, <NUMBER>) | IsBitSet(5, 3) |
| ClearBit | 這可讓您清除第二個引數所提供的位置之第一個引數中的位元。 | ClearBit(<NUMBER>, <NUMBER>) | |
| SetBit | 對提供的數字執行位元或(|)。 這可讓您設定第一個引數內的位元,此位元設定於第二個引數所提供的位置。 | SetBit(<NUMBER>, <NUMBER>) | SetBit(5, 3) |
| RowId | 傳回行號。 | RowId() | RowId() |
| NewUUID | 產生新的唯一UUID。 | NewUUID() | NewUUID() |
| NoNull | 如果提供的字串不是空的,則傳回該字串,如果提供的字串是空的,則傳回空字串。 | NoNull(<STRING>) | NoNull(「測試」) |
| AESEncrypt | 使用AES加密型別加密提供的字串。 | AESEncrypt() | AESEncrypt("hello") |
| 物件建構 | 根據提供的索引鍵/值組建立物件。 | ObjectConstruct(<STRING>, <STRING>) | ObjectConstruct("key", "value") |
字串
字串函式可用來控制一組字串。
Google BigQuery
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| AllNonNull2 | 接受兩個字串並檢查它們是否全部不是Null且不是空白。 | AllNonNull2(<STRING>, <STRING>) | AllNonNull2(", "string2") |
| AllNonNull3 | 接受三個字串並檢查它們是否全部不是Null且不是空白 | AllNonNull3(<STRING>, <STRING>, <STRING>) | AllNonNull3(", "one", "three") |
| Ascii | 接受字串並傳回結果。 | Ascii(<STRING>) | Ascii (「foo」) |
| Char | 接受一系列Unicode程式碼點並傳回產生的字串。 | Char(<ARRAY>) | 字元([65, 68, 79, 66, 69]) |
| Charindex | 尋找指定子字串在主字串中的第一次出現。 | Charindex(<STRING>, <SUBSTRING>) | 字元索引("bar@example.com", "@") |
| DataLength | 傳回字串中的位元組數。 | dataLength(<STRING>) | dataLength(「我的字串」) |
| GetLine | 傳回所提供字串的請求行。 | GetLine(<STRING>, <NUMBER>) | GetLine(multilinestring, 5) |
| IfEquals | 接受四個字串,如果前兩個字串相等,則傳回第三個字串,如果前兩個字串不相等,則傳回第四個字串。 | IfEquals(<STRING>, <STRING>, <STRING>, <STRING>) | IfEquals("a", "a", "yes", "no") |
| IsMemoNull | 如果字串為null,則傳回1,否則傳回0。 | IsMemoNull(<STRING>) | IsMemoNull("hello") |
| JuxtWords | 取用兩個字串並將它們合併為單一字串。 必要時,字串之間會新增空格。 | JuxtWords(<STRING>, <STRING>) | JuxtWords("Hello", "World") |
| JuxtWords3 | 取用三個字串並將它們合併為單一字串。 必要時,字串之間會新增空格。 | JuxtWords3(<STRING>, <STRING>, <STRING>) | JuxtWords3(「Hello」、「New」、「World」) |
| Left | 採用字串並按指定傳回最左邊的字元。 | Left(<STRING>, <NUMBER>) | Left(「Substring」, 3) |
| Length | 傳回字串的長度。 | Length(<STRING>) | Length("MyString") |
| Md5Digest | 將MD5雜湊字串轉換成其十六進位表示。 | Md5Digest(<STRING>) | Md5Digest(「字串」) |
| MemoContains | 檢查字串是否包含提供的子字串。 | MemoContains(<STRING>, <STRING>) | MemoContains("string", "str") |
| Right | 採用字串並傳回指定的最右邊字元。 | Right(<STRING>, <NUMBER>) | 右(「子字串」,3) |
| Smart | 傳回字串,每個字詞的首字母都會大寫。 | Smart(<STRING>) | Smart(「hello world」) |
| Substring | 接受字串並根據給定的位置傳回所提供字串的一部分。 | Substring(<STRING>, <LEFT_NUMBER>, RIGHT_NUMBER>) | Substring("Substring", 3, 5) |
| Sha256Digest | 將SHA256雜湊字串轉換為其十六進位表示。 | Sha256Digest(<STRING>) | Sha256Digest(「字串」) |
| Sha512Digest | 將SHA512雜湊字串轉換為其十六進位表示。 | Sha512Digest(<STRING>) | Sha512Digest(「字串」) |
| ToString | 以字串形式傳回值。 | ToString(<VALUE>) | ToString(123) |
Snowflake
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| AllNonNull2 | 接受兩個字串並檢查它們是否全部不是Null且不是空白。 | AllNonNull2(<STRING>, <STRING>) | AllNonNull2(", "string2") |
| AllNonNull3 | 接受三個字串並檢查它們是否全部不是Null且不是空白 | AllNonNull3(<STRING>, <STRING>, <STRING>) | AllNonNull3(", "one", "three") |
| Char | 接受一系列Unicode程式碼點並傳回產生的字串。 | Char(<ARRAY>) | 字元([65, 68, 79, 66, 69]) |
| Charindex | 尋找指定子字串在主字串中的第一次出現。 | Charindex(<STRING>, <SUBSTRING>) | 字元索引("bar@example.com", "@") |
| DataLength | 傳回字串中的位元組數。 | dataLength(<STRING>) | dataLength(「我的字串」) |
| GetLine | 傳回所提供字串的請求行。 | GetLine(<STRING>, <NUMBER>) | GetLine(multilinestring, 5) |
| IfEquals | 接受四個字串,如果前兩個字串相等,則傳回第三個字串,如果前兩個字串不相等,則傳回第四個字串。 | IfEquals(<STRING>, <STRING>, <STRING>, <STRING>) | IfEquals("a", "a", "yes", "no") |
| IsMemoNull | 如果字串為null,則傳回1,否則傳回0。 | IsMemoNull(<STRING>) | IsMemoNull("hello") |
| JuxtWords | 取用兩個字串並將它們合併為單一字串。 必要時,字串之間會新增空格。 | JuxtWords(<STRING>, <STRING>) | JuxtWords("Hello", "World") |
| JuxtWords3 | 取用三個字串並將它們合併為單一字串。 必要時,字串之間會新增空格。 | JuxtWords3(<STRING>, <STRING>, <STRING>) | JuxtWords3(「Hello」、「New」、「World」) |
| Left | 採用字串並按指定傳回最左邊的字元。 | Left(<STRING>, <NUMBER>) | Left(「Substring」, 3) |
| Length | 傳回字串的長度。 | Length(<STRING>) | Length("MyString") |
| Line | 從字串傳回指定的編號行。 | Line(<STRING>, <NUMBER>) | Line(multilinestring, 5) |
| Md5Digest | 將MD5雜湊字串轉換成其十六進位表示。 | Md5Digest(<STRING>) | Md5Digest(「字串」) |
| Replace | 採用字串並以取代子字串取代子字串的所有例項。 | Replace(<STRING>, <STRING>, <STRING>) | Replace(「Captain Steve」、「Captain」、「Engineer」) |
| Right | 採用字串並傳回指定的最右邊字元。 | Right(<STRING>, <NUMBER>) | 右(「子字串」,3) |
| Sha256Digest | 將SHA256雜湊字串轉換為其十六進位表示。 | Sha256Digest(<STRING>) | Sha256Digest(「字串」) |
| Sha512Digest | 將SHA512雜湊字串轉換為其十六進位表示。 | Sha512Digest(<STRING>) | Sha512Digest(「字串」) |
| Smart | 傳回字串,每個字詞的首字母都會大寫。 | Smart(<STRING>) | Smart(「hello world」) |
| ToString | 以字串形式傳回值。 | ToString(<VALUE>) | ToString(123) |
視窗
Google BigQuery
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| RowNum | 根據表格分割和排序順序傳回資料列順序。 | rownum(PartitionBy(<EXPRESSION>), OrderBy(<EXPRESSION>)) | RowNum(PartitionBy(division), OrderBy(time)) |
| PartitionBy | 根據給定的運算式將輸入列分隔成不同的分割區。 | PartitionBy(<EXPRESSION>) | PartitionBy(除法) |
| OrderBy | 排序分割結果。 | OrderBy(<EXPRESSION>) | OrderBy(age) |
| Desc | 可讓您的OrderBy依遞減順序排序,而非遞增順序。 | Desc(OrderBy(<EXPRESSION>)) | Desc(OrderBy(age)) |
Snowflake
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| 名稱 | 說明 | 語法 | 範例 |
| RowNum | 根據表格分割和排序順序傳回資料列順序。 | rownum(PartitionBy(<EXPRESSION>), OrderBy(<EXPRESSION>)) | RowNum(PartitionBy(division), OrderBy(time)) |
| PartitionBy | 根據給定的運算式將輸入列分隔成不同的分割區。 | PartitionBy(<EXPRESSION>) | PartitionBy(除法) |
| OrderBy | 排序分割結果。 | OrderBy(<EXPRESSION>) | OrderBy(age) |
| Desc | 可讓您的OrderBy依遞減順序排序,而非遞增順序。 | Desc(OrderBy(<EXPRESSION>)) | Desc(OrderBy(age)) |
recommendation-more-help
fadff0d9-29d0-4d44-99a6-2499b0b7778b