編輯運算式 expression
Last update: Fri Jul 19 2024 00:00:00 GMT+0000 (Coordinated Universal Time)
編輯運算式需要手動輸入條件以形成規則。 此模式可讓您使用進階函式,這些函式可讓您控制用於執行特定查詢的值,例如控制日期、字串、數值欄位、排序等。
IMPORTANT
下節提供如何使用運算式編輯器建立規則的資訊。 請記住,用來建置規則的語法與用來新增個人化的語法不同。
使用運算式編輯器 edit
設定自訂條件時,屬性 和 值 欄位可使用查詢模型器 編輯運算式 按鈕中的運算式編輯器。
從 屬性 欄位存取
從 值 欄位存取
{modal="regular"}
{modal="regular"}
運算式編輯器提供:
- 定義運算式的 輸入欄位(1)。
- 可用的 欄位(2) 清單,可用於運算式中,並對應於查詢的目標維度。
- 協助程式函式(3),依類別排序。
直接在輸入欄位中輸入運算式以編輯運算式。 若要新增欄位或協助程式函式,請將游標置於要新增的運算式中,然後按一下+按鈕。
{modal="regular"}
當運算式準備就緒時,請按一下 確認 按鈕。 運算式會顯示在選取的欄位中。 若要編輯,請開啟運算式編輯器並進行所需的變更。
下列範例顯示為 值 欄位設定的運算式。 若要編輯它,您必須使用 編輯運算式 按鈕開啟運算式編輯器。
{modal="regular"}
協助程式功能
查詢編輯工具可讓您使用進階功能,根據所需結果和操作資料的型別執行複雜的篩選。 可使用下列函式:
彙總
彙總函式用於對一組值執行計算。
名稱
說明
語法
平均
傳回數字型別資料行
的平均值
的平均值
Avg(<value>)
計數
計算資料行
的非空值
的非空值
Count(<value>)
CountAll
計算傳回的值(所有欄位)
CountAll()
Countdistinct
計算資料行
的相異非null值
的相異非null值
Countdistinct(<value>)
最大
傳回數字、字串或日期型別資料行
的最大值
的最大值
Max(<value>)
分鐘
傳回數字、字串或日期型別資料行
的最小值
的最小值
Min(<value>)
StdDev
傳回數字、字串或日期資料行
的標準差
的標準差
stdev(<value>)
StringAgg
傳回字串型別資料行值的串連,以第二個引數
中的字元分隔
中的字元分隔
StringAgg(<Value>, <String>)
總和
傳回數字、字串或日期型別資料行
的值總和
的值總和
Sum(<value>)
日期
日期函式可用來控制日期或時間值。
名稱
說明
語法
AddDays
新增日期的天數
AddDays(<date>, <number>)
AddHours
將小時數新增至日期
AddHours(<date>, <number>)
AddMinutes
將分鐘數新增至日期
AddMinutes(<date>, <number>)
AddMonths
新增月份至日期
AddMonths(<date>, <number>)
AddSeconds
新增秒數至日期
AddSeconds(<date>, <number>)
AddYears
在日期中新增多年
AddYears(<date>, <number>)
ConvertNTZ
套用定義的工作階段TZ
,將時間戳記NTZ (沒有時區的時間戳記)轉換為TZ (有時區的時間戳記)
,將時間戳記NTZ (沒有時區的時間戳記)轉換為TZ (有時區的時間戳記)
ConvertNTZ (<date+time>)
DateCmp
比較兩個日期
DateCmp(<date>,<date>)
DateOnly
只傳回日期(時間為00:00)*
DateOnly(<date>)
Day
傳回代表日期的數字
Day(<date>)
DayOfYear
傳回日期
年中的天數
年中的天數
DayOfYear(<date>)
DaysAgo
傳回與目前日期對應的日期減去n天
DaysAgo(<number>)
DaysAgoInt
傳回與目前日期對應的日期(整數yyyymmdd)減去n天
DaysAgoInt(<number>)
DaysDiff
兩個日期之間的天數
DaysDiff(<end date>, <start date>)
DaysOld
傳回日期的年齡(以天為單位)
DaysOld(<date>)
GetDate
返回伺服器的目前系統日期
GetDate()
Hour
傳回日期的小時數
Hour(<date>)
HoursDiff
傳回兩個日期之間的小時數
HoursDiff(<end date>, <start date>)
Minute
傳回日期的分鐘數
Minute(<date>)
MinutesDiff
傳回兩個日期之間的分鐘數
MinutesDiff(<end date>, <start date>)
Month
傳回代表日期月份的數字
Month(<date>)
MonthsAgo
傳回與目前日期對應的日期減去n個月
MonthsAgo(<number>)
MonthsDiff
傳回兩個日期之間的月數
MonthsDiff(<end date>, <start date>)
MonthsOld
傳回日期的月份
MonthsOld(<date>)
Oldest
傳回範圍
中最早的日期
中最早的日期
最舊(<date, date>)
Second
傳回日期的秒數
Second(<date>)
SecondsDiff
傳回兩個日期之間的秒數
SecondsDiff(<end date>, <start date>)
SubDays
從日期減去天數
SubDays(<date>, <number>)
SubHours
從日期減去數小時
SubHours(<date>, <number>)
SubMinutes
從日期減去分鐘數
SubMinutes(<date>, <number>)
SubMonths
從日期減去幾個月
SubMonths(<date>, <number>)
SubSeconds
從日期減去秒數
SubSeconds(<date>, <number>)
SubYears
從日期減去數年
SubYears(<date>, <number>)
ToDate
將日期 + 時間轉換為日期
ToDate(<date + time>)
ToDateTime
將字串轉換為日期+時間
ToDateTime(<string>)
ToTimestamp
將字串轉換為時間戳記
ToTimestamp(<string>)
ToTimeZone
將日期+時間轉換為時區
ToTimeZone(<date>,<time zone>)
TruncDate
將日期+時間四捨五入至最接近的秒數
TruncDate(@lastModified, <number of seconds>)
TruncDateTZ
將日期+時間四捨五入為以秒為單位的指定精確度
TruncDateTZ(<date>, <number of seconds>, <time zone>)
TruncQuarter
將日期捨入為季度
TruncQuarter(<date>)
TruncTime
將時間部分捨入到最接近的秒數
TruncTim(e<date>, <number of seconds>)
TruncWeek
將日期捨入為一週
TruncWeek(<date>)
TruncYear
將日期+時間捨入至年度的 1 月 1 日
TruncYear(<date>)
WeekDay
傳回代表日期當週中某天的數字(0=星期一,6=星期日)
WeekDay(<date>)
年
傳回代表日期年份的數字
Year(<date>)
YearAnd Month
傳回代表日期的年份和月份的數字
YearAndMonth(<date>)
年前
傳回指定日期與目前日期之間的年數
YearsAgo(<date>)
YearsDiff
傳回兩個日期之間的年數
YearsDiff(<end date>, <start date>)
YearsOld
傳回日期的年齡
YearsOld(<date>)
NOTE
請注意,Dateonly 函式會考量伺服器的時區,而非運運算元的時區。
地理行銷
地理行銷函式用於操縱地理值。
名稱
說明
語法
距離
傳回由經度和緯度定義的兩點之間的距離,以度表示。
距離(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>)
數值
數值函式用於將文字轉換為數字。
名稱
說明
語法
Abs
返回數字的絕對值
Abs(<number>)
Ceil
傳回大於或等於數字的最小整數
Ceil(<number>)
Floor
傳回大於或等於數字
的最大整數
的最大整數
Floor(<number>)
Greatest
傳回兩個數字中的較大值
Greatest(<number 1>, <number 2>)
Least
傳回兩個數字中的較小者
Least(<number 1>, <number 2>)
Mod
傳回n1除以n2
的整數除法的餘數
的整數除法的餘數
Mod(<number 1>, <number 2>)
Percent
傳回兩個數字的比率,以百分比表示
Percent(<number 1>, <number 2>)
Random
傳回隨機值
Random()
Round
將數字四捨五入為n個小數
Round(<number>, <number of decimals>)
Sign
傳回數字元號
Sign(<number>)
ToDouble
將整數轉換為浮點數
ToDouble(<number>)
ToInt64
將浮點數轉換為 64 位整數
ToInt64(<number>)
ToInteger
將浮點數轉換為整數
ToInteger(<number>)
Trunc
截斷 n1 到 n2 小數
Trunc(<n1>, <n2>)
其他
此表格包含剩餘的可用函式。
名稱
說明
語法
AESEncrypt
加密引數
中提供的字串
中提供的字串
AESEncrypt(<value>)
案例
若條件為true,則傳回值1。 如果沒有,則傳回值2.
Case(When(<condition>, <value 1>), Else(<value 2>))
ClearBit
刪除值中的旗標
ClearBit(<identifier>, <flag>)
合併
如果值 1 為 零或 null,則傳回值 2,否則傳回值 1
Coalesce(<value 1>, <value 2>)
Decode
如果值1 =值2,則傳回值3。 如果未傳回值4.
Decode(<value 1>, <value 2>, <value 3>, <value 4>)
Else
傳回值 1(只能用作 case 函式的參數)
Else(<value 1>, <value 2>)
GetEmailDomain
從電子郵件地址中擷取網域
GetEmailDomain(<value>)
GetMirrorURL
檢索鏡像頁面伺服器的URL
GetMirrorURL(<value>)
Iif
如果運算式為true,則傳回值1。 如果沒有,則傳回值2
Iif(<condition>, <value 1>, <value 2>)
IsBitSet
指出旗標是否在值中
IsBitSet(<identifier>, <flag>)
IsEmptyString
如果字串1為空,則傳回值2,否則傳回值3
IsEmptyString(<value 1>, <value 2>, <value 3>)
NewUUID
傳回唯一識別碼
NewUUID()
NoNull
如果引數為 NULL,則返回空字串
NoNull(<value>)
RowId
返回行號
RowId
SetBit
強制值中的旗標
SetBit(<identifier>, <flag>)
ToBoolean
將數字轉換為布林值
ToBoolean(<number>)
When
如果運算式為true,則傳回值1。 如果沒有,則傳回值2 (只能用作case函式的引數)
When(<condition>, <value 1>)
字串
字串函式可用來控制一組字串。
名稱
說明
語法
AllNonNull2
指示所有參數是否為非空值且非空白
AllNonNull2(<string>, <string>)
AllNonNull3
指示所有參數是否為非空值且非空白
AllNonNull3(<string>, <string>, <string>)
Ascii
傳回字串中第一個字元的ASCII值。
Ascii(<string>)
Char
傳回與 'n' ASCII 代碼對應的字元
字元(<number>)
Charindex
傳回字串1.
中字串2的位置
中字串2的位置
Charindex(<string>, <string>)
資料長度
傳回字串
的大小(位元組)
的大小(位元組)
dataLength(<string>)
GetLine
傳回字串的第 n 行(從 1 到 n)
GetLine(<string>)
IfEquals
如果前兩個引數相等,則傳回第三個引數。 如果不是,則傳回最後一個引數
IfEquals(<string>, <string>, <string>, <string>)
IsMemoNull
指示作為參數傳遞的備忘錄是否為空
IsMemoNull(<memo>)
JuxtWords
串連以引數形式傳遞的字串。 如有必要,在字串之間新增空格。
JuxtWords(<string>, <string>)
JuxtWords3
串連以引數形式傳遞的字串。 如有必要,在字串之間新增空格
JuxtWords3(<string>, <string>, <string>)
Left
傳回字串的前 n 個字元
Left(<string>, <number>)
Length
傳回字串
的長度
的長度
Length(<string>)
行
從字串
擷取行n
擷取行n
Line(<string>,<number>)
Lower
傳回小寫字串
Lower(<string>)
LPad
傳回左側的已完成字串
LPad (<String>, <Number>, <Char>)
Ltrim
移除字串左側的空格
Ltrim(<string>)
Md5Digest
返回字串 MD5 鍵的十六進位表示
Md5Digest(<string>)
MemoContains
指定備忘錄是否包含作為參數傳遞的字串
MemoContains(<memo>, <string>)
節點值
從其XPath和欄位資料中擷取XML欄位的值
NodeValue (<String>, <String>)
Replace
以其他字串值取代指定字串值的所有出現次數。
Replace(<String>,<String>,<String>)
Right
傳回字串的最後 n 個字元
Right(<string>)
RPad
傳回右側的已完成字串
RPad(<string>, <number>, <character>)
Rtrim
移除字串右側的空格
Rtrim(<string>)
Sha256Digest
字串SHA256鍵的十六進位表示。
Sha256Digest (<String>)
Sha512Digest
字串SHA512鍵的十六進位表示。
Sha512Digest (<String>)
Smart
傳回字串,每個字詞的首字母以大寫表示
Smart(<string>)
Substring
從字串的字元n1開始提取長度為n2
的子字串
的子字串
Substring(<string>, <offset>, <length>)
ToString
將數字轉換為字串
ToString(<number>, <number>)
Upper
以大寫傳回字串
Upper(<string>)
VirtualLink
傳回連結的外鍵,如果其他兩個參數相等,則傳遞為參數
VirtualLink(<number>、<number>、<number>)
VirtualLinkStr
傳回連結的外鍵(文字)索引鍵,如果其他兩個參數相等,則傳回該連結的外鍵 (text)
VirtualLinkStr(<string>, <number>, <number>)
Window
名稱
說明
語法
_超過__
執行以第1個引數輸入的SQL函式呼叫,透過Partition或Order By輸入為第2個引數的欄位
_超過_ (<Value>, <Value>)
Desc
套用遞減排序
Desc(<value 1>)
OrderBy
對分區內的結果進行排序
OrderBy(<value 1>)
PartitionBy
對表上的查詢結果進行分區
PartitionBy(<value 1>)
RowNum
根據資料表分割和排序順序產生行號。
RowNum(PartitionBy(<value 1>), OrderBy(<value 1>))
recommendation-more-help
c39c2d00-ba9a-424b-adf9-66af58a0c34b