編輯運算式 expression
Last update: Tue Aug 19 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
編輯運算式需要手動輸入條件以形成規則。此模式可讓您使用進階函式,這些函式可讓您控制用於執行特定查詢的值,例如控制日期、字串、數值欄位、排序等。
使用運算式編輯器 edit
設定自訂條件時,屬性 和 值 欄位可使用查詢模型器 編輯運算式 按鈕中的運算式編輯器。
從「屬性」欄位存取
從「值」欄位存取


運算式編輯器提供:
- 定義運算式的 輸入欄位(1)。
- 可用的 欄位(2) 清單,可用於運算式中,並與查詢的結構描述(也稱為目標維度)相對應。
- 協助程式函式 (3),依類別排序。
直接在輸入欄位中輸入運算式以編輯運算式。若要新增欄位或協助程式函式,請將游標置於要新增的運算式上,然後按一下「+」按鈕。
當運算式準備就緒時,請按一下 確認 按鈕。 運算式會顯示在選取的欄位中。 若要編輯,請開啟運算式編輯器並進行所需的變更。
下列範例顯示為 值 欄位設定的運算式。 若要編輯它,您必須使用 編輯運算式 按鈕開啟運算式編輯器。
協助程式功能
查詢編輯工具可讓您使用進階功能,根據所需結果和操作資料的類型執行複雜的篩選。可使用下列函式:
彙總
彙總函式用於對一組值執行計算。
名稱
說明
語法
平均
傳回數字型別資料行
的平均值
的平均值
Avg(<值>)
計數
計算資料行
的非空值
的非空值
Count(<值>)
CountAll
計算傳回的值(所有欄位)
CountAll()
Countdistinct
計算資料行
的相異非null值
的相異非null值
Countdistinct(<值>)
最大
傳回數字、字串或日期型別資料行
的最大值
的最大值
Max(<值>)
分鐘
傳回數字、字串或日期型別資料行
的最小值
的最小值
Min(<值>)
StdDev
傳回數字、字串或日期資料行
的標準差
的標準差
StdDev(<值>)
StringAgg
傳回字串型別資料行值的串連,以第二個引數
中的字元分隔
中的字元分隔
StringAgg(<值>, <字串>)
總和
傳回數字、字串或日期型別資料行
的值總和
的值總和
Sum(<值>)
日期
日期函式可用來控制日期或時間值。
名稱
說明
語法
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 函式會考量伺服器的時區,而非運運算元的時區。
地理行銷
地理行銷函式用於操縱地理值。
名稱
說明
語法
Distance
傳回由經度和緯度,通常會以度來表示,定義兩點之間的距離
Distance(<經度 A>, <緯度 A>, <經度 B>, <緯度 B>)
數值
數值函數可用來將文轉換為數字。
名稱
說明
語法
Abs
返回數字的絕對值
Abs(<數字>)
Ceil
傳回大於或等於數字的最小整數
Ceil(<數字>)
Floor
傳回大於或等於數字的最小整數
Floor(<數字>)
Greatest
傳回兩個數字中的較大值
Greatest(<數字 1>, <數字 2>)
Least
傳回兩個數字中的較小者
Least(<數字 1>, <數字 2>)
Mod
傳回 n1 除以 n2 的整數餘數
Mod(<數字 1>, <數字 2>)
Percent
傳回兩個數字的比率,以百分比表示
Percent(<數字 1>, <數字 2>)
Random
傳回隨機值
Random()
Round
將數字四捨五入為 n 個小數
Round(<數字>, <小數位數>)
Sign
傳回數字元號
Sign(<數字>)
ToDouble
將整數轉換為浮點數
ToDouble(<數字>)
ToInt64
將浮點數轉換為 64 位整數
ToInt64(<數字>)
ToInteger
將浮點數轉換為整數
ToInteger(<數字>)
Trunc
截斷 n1 到 n2 小數
Trunc(<n1>, <n2>)
其他
此表包含剩餘的可用函式。
名稱
說明
語法
AESEncrypt
加密引數中提供的字串
AESEncrypt(<值>)
Case
如果條件為真,則傳回值 1。如果為假,則傳回值 2。
Case(When(<條件>, <值 1>), Else(<值 2>))
ClearBit
刪除值中的旗標
ClearBit(<識別碼>, <旗標>)
Coalesce
如果值 1 為 零或 null,則傳回值 2,否則傳回值 1
Coalesce(<值 1>, <值 2>)
Decode
如果值 1 = 值 2,則傳回值 3。如果不等,則傳回值 4。
Decode(<值 1>, <值 2>, <值 3>, <值 4>)
Else
傳回值 1 (只能用作 case 函式的參數)
Else(<值 1>, <值 2>)
GetEmailDomain
從電子郵件地址中擷取網域
GetEmailDomain(<值>)
GetMirrorURL
檢索鏡像頁面伺服器的URL
GetMirrorURL(<值>)
Iif
如果運算式為真,則傳回值 1。如果為假,則傳回值 2
Iif(<條件>, <值 1>, <值 2>)
IsBitSet
指出旗標是否在值中
IsBitSet(<識別碼>, <旗標>)
IsEmptyString
如果字串 1 為空,則傳回值 2,否則傳回值 3
IsEmptyString(<值 1>, <值 2>, <值 3>)
NewUUID
傳回唯一識別碼
NewUUID()
NoNull
如果引數為 NULL,則返回空字串
NoNull(<值>)
RowId
返回行號
RowId
SetBit
強制值中的旗標
SetBit(<識別碼>, <旗標>)
ToBoolean
將數字轉換為布林值
ToBoolean(<數字>)
When
如果運算式為真,則傳回值 1。否則,傳回值 2 (只能用作 case 函式的參數)
When(<條件>, <值 1>)
字串
字串函式可用來控制一組字串。
名稱
說明
語法
AllNonNull2
指示所有參數是否為非空值且非空白
AllNonNull2(<字串>, <字串>)
AllNonNull3
指示所有參數是否為非空值且非空白
AllNonNull3(<字串>, <字串>, <字串>)
Ascii
傳回字串中第一個字元的 ASCII 值
Ascii(<字串>)
Char
傳回與 'n' ASCII 代碼對應的字元
Char(<數字>)
Charindex
傳回字串 2 在字串 1 中的位置。
Charindex(<字串>, <字串>)
DataLength
傳回字串的位元組大小
dataLength(<字串>)
GetLine
傳回字串的第 n 行 (從 1 到 n)
GetLine(<字串>)
IfEquals
如果前兩個參數相等,就會傳回第三個參數。如果不是,就會傳回最後一個參數
IfEquals(<字串>, <字串>, <字串>, <字串>)
IsMemoNull
指示作為參數傳遞的備忘錄是否為空
IsMemoNull(<備忘錄>)
JuxtWords
將傳遞的兩個字串當成參數進行加以串連。如有必要,請在字串之間新增空格。
JuxtWords(<字串>, <字串>)
JuxtWords3
將傳遞的兩個字串當成參數進行加以串連。如有必要,請在字串之間新增空格
JuxtWords3(<字串>, <字串>, <字串>)
Left
傳回字串的前 n 個字元
Left(<字串>, <數字>)
Length
傳回字串的長度
Length(<字串>)
Line
從字串中擷取第 n 行
Line(<字串>,<數字>)
Lower
傳回小寫字串
Lower(<字串>)
LPad
傳回左側的已完成字串
LPad (<字串>, <數字>, <字元>)
Ltrim
移除字串左側的空格
Ltrim(<字串>)
Md5Digest
返回字串 MD5 鍵的十六進位表示
Md5Digest(<字串>)
MemoContains
指定備忘錄是否包含作為參數傳遞的字串
MemoContains(<備忘錄>, <字串>)
NodeValue
從 XPath 和欄位資料中擷取到 XML 欄位的數值
NodeValue (<字串>, <字串>)
Replace
將指定字串值(字串2)的所有出現次數,換成字串(字串1)中的另一個字串值(字串3)。
Replace(<String1>,<String2>,<String3>)
Right
傳回字串的最後 n 個字元
Right(<字串>)
RPad
傳回右側的已完成字串
RPad(<字串>, <數字>, <字元>)
Rtrim
移除字串右側的空格
Rtrim(<字串>)
Sha256Digest
字串 SHA256 鍵的十六進位表示。
Sha256Digest (<字串>)
Sha512Digest
字串 SHA512 鍵的十六進位表示。
Sha512Digest (<字串>)
Smart
傳回字串,每個字詞的首字母以大寫表示
Smart(<字串>)
Substring
從字串的字元 n1 開始提取長度為 n2 的子字串
Substring(<字串>, <位移>, <長度>)
ToString
將數字轉換為字串
ToString(<數字>, <數字>)
Upper
以大寫傳回字串
Upper(<字串>)
VirtualLink
傳回連結的外鍵,如果其他兩個參數相等,則傳遞為參數
VirtualLink(<數字>、<數字>、<數字>)
VirtualLinkStr
如果其他兩個參數相等,則傳回該連結的外鍵 (text)
VirtualLinkStr(<字串>, <數字>, <數字>)
視窗
名稱
說明
語法
_Over__
執行以第 1 個參數輸入的 SQL 函式呼叫,取代以第 2 個參數輸入的「分割」或「排序」欄位
_Over_ (<值>, <值>)
Desc
套用遞減排序
Desc(<值 1>)
OrderBy
對分區內的結果進行排序
OrderBy(<值 1>)
PartitionBy
對表上的查詢結果進行分區
PartitionBy(<值 1>)
RowNum
根據表格分割和排序序列產生行號。
RowNum(PartitionBy(<值 1>), OrderBy(<值 1>))
recommendation-more-help
fadff0d9-29d0-4d44-99a6-2499b0b7778b