編輯運算式 expression

編輯運算式需要手動輸入條件以形成規則。此模式可讓您使用進階函式,這些函式可讓您控制用於執行特定查詢的值,例如控制日期、字串、數值欄位、排序等。

使用運算式編輯器 edit

設定自訂條件時,屬性​和​ ​欄位可使用查詢模型器​ 編輯運算式 ​按鈕中的運算式編輯器。

從「屬性」欄位存取
從「」欄位存取
{modal="regular"}
{modal="regular"}

運算式編輯器提供:

  • 定義運算式的​輸入欄位(1)
  • 可用的​ 欄位(2) ​清單,可用於運算式中,並與查詢的結構描述(也稱為目標維度)相對應。
  • 協助程式函式 (3),依類別排序。

直接在輸入欄位中輸入運算式以編輯運算式。若要新增欄位或協助程式函式,請將游標置於要新增的運算式上,然後按一下「+」按鈕。

{modal="regular"}

當運算式準備就緒時,請按一下​ 確認 ​按鈕。 運算式會顯示在選取的欄位中。 若要編輯,請開啟運算式編輯器並進行所需的變更。

下列範例顯示為​ ​欄位設定的運算式。 若要編輯它,您必須使用​ 編輯運算式 ​按鈕開啟運算式編輯器。

{modal="regular"}

協助程式功能

查詢編輯工具可讓您使用進階功能,根據所需結果和操作資料的類型執行複雜的篩選。可使用下列函式:

日期

日期函式可用來控制日期或時間值。

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&gt, <STRING&gt) 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