Microsoft Entra 連線 Sync:函式參考
在 Microsoft Entra 連線中,函式可用來在同步處理期間操作屬性值。
函式的語法會使用下列格式來表示:
<output type> FunctionName(<input type> <position name>, ..)
如果函式多載並接受多個語法,則會列出所有有效的語法。
函式是強型別,而且會確認傳入的類型符合記載的類型。
如果類型不相符,則會擲回錯誤。
類型會以下列語法表示:
- bin – 二進位
- bool – 布林值
- dt – UTC 日期/時間
- 列舉 – 已知常數的列舉
- exp – 預期評估為布林值的運算式
- mvbin – 多重值二進位
- mvstr – 多重值字串
- mvref – 多重值參考
- num – 數值
- ref – 參考
- str – 字串
- var – 任何其他類型的變體 (幾乎)
- void – 不會傳回值
具有 mvbin 、 mvstr 和 mvref 類型的 函式只能在多重值屬性上運作。 具有 bin 、 str 和 ref 的函式可同時處理單一值和多重值屬性。
函式參考
- [MSSQLSERVER 的通訊協定內容]
- CertExtensionOids
- CertFormat
- CertFriendlyName
- CertHashString
- CertIssuer
- CertIssuerDN
- CertIssuerOid
- CertKeyAlgorithm
- CertKeyAlgorithmParams
- CertNameInfo
- CertNotAfter
- CertNotBefore
- CertPublicKeyOid
- CertPublicKeyParametersOid
- CertSerialNumber
- CertSignatureAlgorithmOid
- CertSubject
- CertSubjectNameDN
- CertSubjectNameOid
- CertThumbprint
- CertVersion
- IsCert
- 轉換
- 日期/ 時間
- 目錄
- 評估
- 數學
- 多重*值
- 程式流程
- Text
BitAnd
描述:
BitAnd 函式會在值上設定指定的位。
語法:
num BitAnd(num value1, num value2)
- value1,value2:應一起搭配 AND 的數值
備註:
此函式會將這兩個參數轉換成二進位標記法,並將位設定為:
- 0 - 如果 value1 和 value2 中的 一個或兩個對應位都是 0
- 1 - 如果這兩個對應的位都是 1。
換句話說,它會在所有情況下傳回 0,但兩個參數的對應位都是 1。
範例:
BitAnd(&HF, &HF7)
傳回 7,因為十六進位 「F」 AND 「F7」 評估為此值。
BitOr
描述:
BitOr 函式會在值上設定指定的位。
語法:
num BitOr(num value1, num value2)
- value1,value2:應一起 OR 的數值
備註:
如果遮罩和旗標中的一個或兩個對應位都是 1,則此函式會將這兩個參數轉換成二進位標記法,並將位設定為 1,如果兩個對應的位都是 0,則為 0。 換句話說,它會在所有情況下傳回 1,但兩個參數的對應位都是 0。
CBool
描述:
CBool 函式會根據評估的運算式傳回布林值
語法:
bool CBool(exp Expression)
備註:
如果運算式評估為非零值,則 CBool 會傳回 True,否則會傳回 False。
範例:
CBool([attrib1] = [attrib2])
如果兩個屬性都有相同的值,則傳回 True。
CDate
描述:
CDate 函式會從字串傳回 UTC DateTime。 DateTime 不是 Sync 中的原生屬性類型,但是由某些函式使用。
語法:
dt CDate(str value)
- 值:具有日期、時間和選擇性時區的字串
備註:
傳回的字串一律為 UTC。
範例:
CDate([employeeStartTime])
根據員工的開始時間傳回 DateTime
CDate("2013-01-10 4:00 PM -8")
會傳回 DateTime,代表 「2013-01-11 12:00 AM」
CertExtensionOids
描述:
傳回憑證物件之所有重要延伸的 Oid 值。
語法:
mvstr CertExtensionOids(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertFormat
描述:
傳回這個 X.509v3 憑證的格式名稱。
語法:
str CertFormat(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertFriendlyName
描述:
傳回憑證的相關聯別名。
語法:
str CertFriendlyName(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertHashString
描述:
將 X.509v3 憑證的 SHA1 雜湊值傳回為十六進位的字串。
語法:
str CertHashString(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertIssuer
描述:
傳回發行 X.509v3 憑證的憑證授權單位單位名稱。
語法:
str CertIssuer(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertIssuerDN
描述:
傳回憑證簽發者的辨別名稱。
語法:
str CertIssuerDN(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertIssuerOid
描述:
傳回憑證簽發者的 Oid。
語法:
str CertIssuerOid(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertKeyAlgorithm
描述:
傳回做為字串的這個 X.509v3 憑證金鑰演算法資訊。
語法:
str CertKeyAlgorithm(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertKeyAlgorithmParams
描述:
傳回做為十六進位字串的 X.509v3 憑證金鑰演算法參數。
語法:
str CertKeyAlgorithm(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertNameInfo
描述:
從憑證傳回主體和簽發者名稱。
語法:
str CertNameInfo(binary certificateRawData, str x509NameType, bool includesIssuerName)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
- X509NameType:主旨的 X509NameType 值。
- includesIssuerName:true 表示要包含簽發者名稱;否則為 false。
CertNotAfter
描述:
傳回當地時間的日期,之後憑證就不再有效。
語法:
dt CertNotAfter(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertNotBefore
描述:
傳回憑證生效的當地時間日期。
語法:
dt CertNotBefore(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertPublicKeyOid
描述:
傳回 X.509v3 憑證公開金鑰的 Oid。
語法:
str CertKeyAlgorithm(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertPublicKeyParametersOid
描述:
傳回 X.509v3 憑證之公開金鑰參數的 Oid。
語法:
str CertPublicKeyParametersOid(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertSerialNumber
描述:
傳回 X.509v3 憑證的序號。
語法:
str CertSerialNumber(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertSignatureAlgorithmOid
描述:
傳回用來建立憑證簽章之演算法的 Oid。
語法:
str CertSignatureAlgorithmOid(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertSubject
描述:
從憑證取得主體辨別名稱。
語法:
str CertSubject(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertSubjectNameDN
描述:
從憑證傳回主體辨別名稱。
語法:
str CertSubjectNameDN(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertSubjectNameOid
描述:
從憑證傳回主體名稱的 Oid。
語法:
str CertSubjectNameOid(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertThumbprint
描述:
傳回憑證的指紋。
語法:
str CertThumbprint(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CertVersion
描述:
傳回憑證的 X.509 格式版本。
語法:
str CertThumbprint(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
CGuid
描述:
CGuid 函式會將 GUID 的字串表示轉換成其二進位標記法。
語法:
bin CGuid(str GUID)
- 以此模式格式化的字串:xxxxxxxx-xxxx-xxxx-xxxx-xxx 或 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx}
Contains
描述:
Contains 函式會尋找多重值屬性內的字串
語法:
num Contains (mvstring attribute, str search)
- 區分大小寫
num Contains (mvstring attribute, str search, enum Casetype)
num Contains (mvref attribute, str search)
- 區分大小寫
- attribute:要搜尋的多值屬性。
- search:要于 屬性中尋找的字串。
- Casetype:CaseInsensitive 或 CaseSensitive。
在找到字串的多重值屬性中傳回索引。 如果找不到字串,則會傳回 0。
備註:
針對多重值字串屬性,搜尋會在值中找到子字串。
對於參考屬性,搜尋的字串必須完全符合要視為相符的值。
範例:
IIF(Contains([proxyAddresses],"SMTP:")>0,[proxyAddresses],Error("No primary SMTP address found."))
如果 proxyAddresses 屬性具有主要電子郵件地址(以大寫 「SMTP:」 表示),則傳回 proxyAddress 屬性,否則會傳回錯誤。
ConvertFromBase64
描述:
ConvertFromBase64 函式會將指定的 base64 編碼值轉換為一般字串。
語法:
str ConvertFromBase64(str source)
- 假設 Unicode 進行編碼
str ConvertFromBase64(str source, enum Encoding)
- 來源:Base64 編碼字串
- 編碼:Unicode、ASCII、UTF8
範例
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)
這兩個範例都會傳回 「 Hello world! 」
ConvertFromUTF8Hex
描述:
ConvertFromUTF8Hex 函式會將指定的 UTF8 十六進位編碼值轉換為字串。
語法:
str ConvertFromUTF8Hex(str source)
- 來源:UTF8 2 位元組編碼的 sting
備註:
此函式與 ConvertFromBase64([],UTF8) 之間的差異在於結果對 DN 屬性而言是易記的。
Microsoft Entra ID 會使用此格式作為 DN。
範例:
ConvertFromUTF8Hex("48656C6C6F20776F726C6421")
傳回 「 Hello world! 」
ConvertToBase64
描述:
ConvertToBase64 函式會將字串轉換成 Unicode base64 字串。
將整數陣列的值轉換為以 base-64 位數編碼的對等字串表示。
語法:
str ConvertToBase64(str source)
範例:
ConvertToBase64("Hello world!")
傳回 「SABlAGwAbABvACAAdwBvAHIAbABkACEA」
ConvertToUTF8Hex
描述:
ConvertToUTF8Hex 函式會將字串轉換成 UTF8 十六進位編碼值。
語法:
str ConvertToUTF8Hex(str source)
備註:
Microsoft Entra ID 會使用此函式的輸出格式作為 DN 屬性格式。
範例:
ConvertToUTF8Hex("Hello world!")
傳回 48656C6C6F20776F726C6421
計數
描述:
Count 函式會傳回多重值屬性中的元素數目
語法:
num Count(mvstr attribute)
CNum
描述:
CNum 函式會接受字串並傳回數值資料類型。
語法:
num CNum(str value)
CRef
描述:
將字串轉換為參考屬性
語法:
ref CRef(str value)
範例:
CRef("CN=LC Services,CN=Microsoft,CN=lcspool01,CN=Pools,CN=RTC Service," & %Forest.LDAP%)
CStr
描述:
CStr 函式會轉換成字串資料類型。
語法:
str CStr(num value)
str CStr(ref value)
str CStr(bool value)
- value:可以是數值、參考屬性或布林值。
範例:
CStr([dn])
可以傳回 「cn=Joe,dc=contoso,dc=com」
DateAdd
描述:
傳回 Date,其中包含已加入指定時間間隔的日期。
語法:
dt DateAdd(str interval, num value, dt date)
- interval:字串運算式,這是您想要新增的時間間隔。 字串必須具有下列其中一個值:
- yyyy Year
- q 季
- m Month
- 年 y 日
- d 日
- w Weekday
- ww 周
- h 小時
- n 分鐘
- s Second
- value:您想要新增的單位數目。 它可以是正面的(在未來取得日期)或負數(過去取得日期)。
- date:DateTime,代表加入間隔的日期。
範例:
DateAdd("m", 3, CDate("2001-01-01"))
新增 3 個月,並傳回代表 「2001-04-01」 的 DateTime。
DateFromNum
描述:
DateFromNum 函式會將 AD 日期格式中的值轉換成 DateTime 類型。
語法:
dt DateFromNum(num value)
範例:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
會傳回 DateTime,代表 2012-01-01 23:00:00
DNComponent
描述:
DNComponent 函式會傳回從左側傳回指定 DN 元件的值。
語法:
str DNComponent(ref dn, num ComponentNumber)
- dn:要解譯的參考屬性
- ComponentNumber:DN 中要傳回的元件
範例:
DNComponent(CRef([dn]),1)
如果 dn 是 「cn=Joe,ou=...」,則會傳回 Joe
DNComponentRev
描述:
DNComponentRev 函式會傳回從右(結尾)傳回指定 DN 元件的值。
語法:
str DNComponentRev(ref dn, num ComponentNumber)
str DNComponentRev(ref dn, num ComponentNumber, enum Options)
- dn:要解譯的參考屬性
- ComponentNumber - DN 中要傳回的元件
- 選項:DC – 忽略所有具有 「dc=」 的元件
範例:
如果 dn 是 「cn=Joe,ou=Atlanta,ou=GA,ou=US, dc=contoso,dc=com」,則
DNComponentRev(CRef([dn]),3)
DNComponentRev(CRef([dn]),1,"DC")
兩者都會傳回美國。
錯誤
描述:
Error 函式用來傳回自訂錯誤。
語法:
void Error(str ErrorMessage)
範例:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
如果屬性 accountName 不存在,請在 物件上擲回錯誤。
EscapeDNComponent
描述:
EscapeDNComponent 函式會採用 DN 的一個元件,並逸出它,使其可以在 LDAP 中表示。
語法:
str EscapeDNComponent(str value)
範例:
EscapeDNComponent("cn=" & [displayName]) & "," & %ForestLDAP%)
請確定物件可以在 LDAP 目錄中建立,即使 displayName 屬性具有必須在 LDAP 中逸出的字元也一樣。
FormatDateTime
描述:
FormatDateTime 函式用來將 DateTime 格式化為具有指定格式的字串
語法:
str FormatDateTime(dt value, str format)
- value:DateTime 格式的值
- format:字串,表示要轉換成的格式。
備註:
您可以在這裡找到格式的可能值: FORMAT 函 式的自訂日期和時間格式。
範例:
FormatDateTime(CDate("12/25/2007"),"yyyy-MM-dd")
結果為 「2007-12-25」。
FormatDateTime(DateFromNum([pwdLastSet]),"yyyyMMddHHmmss.0Z")
可能會導致 「20140905081453.0Z」
GUID
描述:
函式 Guid 會產生新的隨機 GUID
語法:
str Guid()
IIF
描述:
IIF 函式會根據指定的條件傳回一組可能值。
語法:
var IIF(exp condition, var valueIfTrue, var valueIfFalse)
- condition:任何可評估為 true 或 false 的值或運算式。
- valueIfTrue:如果條件評估為 true,則傳回的值。
- valueIfFalse:如果條件評估為 false,則傳回的值。
範例:
IIF([employeeType]="Intern","t-" & [alias],[alias])
如果使用者是實習生,則會傳回使用者別名,並將 「t-」 新增至它的開頭,否則會以原樣傳回使用者的別名。
InStr
描述:
InStr 函式會尋找字串中第一個出現的子字串
語法:
num InStr(str stringcheck, str stringmatch)
num InStr(str stringcheck, str stringmatch, num start)
num InStr(str stringcheck, str stringmatch, num start, enum compare)
- stringcheck:要搜尋的字串
- stringmatch:要找到的字串
- start:尋找子字串的起始位置
- compare:vbTextCompare 或 vbBinaryCompare
備註:
傳回找到子字串的位置,如果找不到則傳回 0。
範例:
InStr("The quick brown fox","quick")
評估為 5
InStr("repEated","e",3,vbBinaryCompare)
評估為 7
InStrRev
描述:
InStrRev 函式會尋找字串中最後一個出現的子字串
語法:
num InstrRev(str stringcheck, str stringmatch)
num InstrRev(str stringcheck, str stringmatch, num start)
num InstrRev(str stringcheck, str stringmatch, num start, enum compare)
- stringcheck:要搜尋的字串
- stringmatch:要找到的字串
- start:尋找子字串的起始位置
- compare:vbTextCompare 或 vbBinaryCompare
備註:
傳回找到子字串的位置,如果找不到則傳回 0。
範例:
InStrRev("abbcdbbbef","bb")
傳回 7
IsBitSet
描述:
函式 IsBitSet 測試是否已設定位
語法:
bool IsBitSet(num value, num flag)
- value:評估的數值。flag:要評估位的數值
範例:
IsBitSet(&HF,4)
會傳回 True,因為位 「4」 是在十六進位值 「F」 中設定
IsDate
描述:
如果運算式可以評估為 DateTime 類型,則 IsDate 函式會評估為 True。
語法:
bool IsDate(var Expression)
備註:
用來判斷 CDate() 是否成功。
IsCert
描述:
如果原始資料可以序列化為 .NET X509Certificate2 憑證物件,則傳回 true。
語法:
bool CertThumbprint(binary certificateRawData)
- certificateRawData:X.509 憑證的位元組陣列標記法。 位元組陣列可以是二進位 (DER) 編碼或 Base64 編碼的 X.509 資料。
IsEmpty
描述:
如果屬性存在於 CS 或 MV 中,但評估為空字串,則 IsEmpty 函式會評估為 True。
語法:
bool IsEmpty(var Expression)
IsGuid
描述:
如果字串可以轉換成 GUID,則 IsGuid 函式會評估為 true。
語法:
bool IsGuid(str GUID)
備註:
GUID 定義為下列其中一種模式的字串:xxxxxxxx-xxxx-xxxx-xxxx-xxx 或 {xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx}
用來判斷 CGuid() 是否成功。
範例:
IIF(IsGuid([strAttribute]),CGuid([strAttribute]),NULL)
如果 StrAttribute 具有 GUID 格式,則傳回二進位標記法,否則會傳回 Null。
IsNull
描述:
如果運算式評估為 Null,則 IsNull 函式會傳回 true。
語法:
bool IsNull(var Expression)
備註:
針對屬性,Null 會以沒有 屬性來表示。
範例:
IsNull([displayName])
如果屬性不存在於 CS 或 MV 中,則傳回 True。
IsNullOrEmpty
描述:
如果運算式為 null 或空字串,則 IsNullOrEmpty 函式會傳回 true。
語法:
bool IsNullOrEmpty(var Expression)
備註:
如果是屬性,如果屬性不存在或存在,但為空字串,則此屬性會評估為 True。
此函式的反函數名稱為 IsPresent。
範例:
IsNullOrEmpty([displayName])
如果屬性不存在或 CS 或 MV 中的空字串,則傳回 True。
IsNumeric
描述:
IsNumeric 函式會傳回布林值,指出運算式是否可以評估為數字類型。
語法:
bool IsNumeric(var Expression)
備註:
用來判斷 CNum() 是否可以成功剖析運算式。
IsString
描述:
如果運算式可以評估為字串類型,則 IsString 函式會評估為 True。
語法:
bool IsString(var expression)
備註:
用來判斷 CStr() 是否可以成功剖析運算式。
IsPresent
描述:
如果運算式評估為不是 Null 且不是空的字串,則 IsPresent 函式會傳回 true。
語法:
bool IsPresent(var expression)
備註:
此函式的反向名稱為 IsNullOrEmpty。
範例:
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])
項目
描述:
Item 函式會從多重值字串/屬性傳回一個專案。
語法:
var Item(mvstr attribute, num index)
- attribute:多重值屬性
- index:索引至多重值字串中的專案。
備註:
Item 函式與 Contains 函式一起很有用,因為後者函式會將索引傳回至多重值屬性中的專案。
如果索引超出界限,則擲回錯誤。
範例:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
傳回主要電子郵件地址。
ItemOrNull
描述:
ItemOrNull 函式會從多重值字串/屬性傳回一個專案。
語法:
var ItemOrNull(mvstr attribute, num index)
- attribute:多重值屬性
- index:索引至多重值字串中的專案。
備註:
ItemOrNull 函式與 Contains 函式一起很有用,因為後者函式會將索引傳回至多重值屬性中的專案。
如果 index 超出範圍,則會傳回 Null 值。
聯結
描述:
Join 函式會採用多重值字串,並傳回在每一個專案之間插入指定分隔符號的單一值字串。
語法:
str Join(mvstr attribute)
str Join(mvstr attribute, str Delimiter)
- attribute:包含要聯結之字串的多值屬性。
- delimiter:用來分隔傳回字串中子字串的任何字串。 如果省略,則會使用空白字元 (「 」) 。 如果 Delimiter 是長度為零的字串 (「」) 或 Nothing,清單中的所有專案都會與沒有分隔符號串連。
備註
Join 和 Split 函式之間有同位。 Join 函式會採用字串陣列,並使用分隔符號字串聯結它們,以傳回單一字串。 Split 函式會採用字串,並將它分隔在分隔符號處,以傳回字串陣列。 不過,主要差異在於 Join 可以串連字號串與任何分隔符號字串,Split 只能使用單一字元分隔符號分隔字串。
範例:
Join([proxyAddresses],",")
可以傳回:「SMTP: john.doe@contoso.com ,smtp: jd@contoso.com 」
LCase
描述:
LCase 函式會將字串中的所有字元轉換成小寫。
語法:
str LCase(str value)
範例:
LCase("TeSt")
傳回 「test」。
Left
描述:
Left 函式會從字串左邊傳回指定的字元數。
語法:
str Left(str string, num NumChars)
- string:要從中傳回字元的字串
- NumChars:識別要從字串開頭 (左) 傳回的字元數的數位
備註:
字串,包含字串中的第一個 numChars 字元:
- 如果 numChars = 0,則傳回空字串。
- 如果為 numChars < 0,則傳回輸入字串。
- 如果 string 為 null,則傳回空字串。
如果 string 包含的字元少於 numChars 中指定的數位,則會傳回與字串相同的字串(也就是包含參數 1 中的所有字元)。
範例:
Left("John Doe", 3)
會傳回 「Joh」。
Len
描述:
Len 函式會傳回字串中的字元數。
語法:
num Len(str value)
範例:
Len("John Doe")
傳回 8
LTrim
描述:
LTrim 函式會從字串中移除前置空白字元。
語法:
str LTrim(str value)
範例:
LTrim(" Test ")
傳回 「Test」
Mid
描述:
Mid 函式會從字串中指定的位置傳回指定的字元數。
語法:
str Mid(str string, num start, num NumChars)
- string:要從中傳回字元的字串
- start:識別字串中要傳回字元的起始位置的數位
- NumChars:識別要從字串中位置傳回的字元數的數位
備註:
傳回從字串中位置開始的 numChars 字元。
字串,包含字串開頭位置的 numChars 字元:
- 如果 numChars = 0,則傳回空字串。
- 如果為 numChars < 0,則傳回輸入字串。
- 如果啟動 > 字串的長度,則傳回輸入字串。
- 如果 start < = 0,則傳回輸入字串。
- 如果 string 為 null,則傳回空字串。
如果字串中沒有從位置開始剩餘的 numChar 字元,則會傳回盡可能多的字元。
範例:
Mid("John Doe", 3, 5)
會傳回 「hn Do」。
Mid("John Doe", 6, 999)
傳回 「Doe」
Now
描述:
Now 函式會根據電腦的系統日期和時間,傳回指定目前日期和時間的 DateTime。
語法:
dt Now()
NumFromDate
描述:
NumFromDate 函式會傳回 AD 日期格式的日期。
語法:
num NumFromDate(dt value)
範例:
NumFromDate(CDate("2012-01-01 23:00:00"))
傳回129699324000000000
PadLeft
描述:
PadLeft 函式會使用提供的填補字元,將字串左鍵填補到指定的長度。
語法:
str PadLeft(str string, num length, str padCharacter)
- string:要填補的字串。
- length:代表字串所需長度的整數。
- padCharacter:字串,包含要作為填補字元的單一字元
備註:
- 如果字串長度小於長度,則 padCharacter 會重複附加至字串的開頭(左),直到長度等於長度為止。
- PadCharacter 可以是空白字元,但不能是 Null 值。
- 如果字串的長度等於或大於長度,則會傳回未變更的字串。
- 如果 string 的長度大於或等於 length,則會傳回與字串相同的字串。
- 如果字串長度小於長度,則會傳回所需長度的新字串,其中包含以 padCharacter 填補的字串。
- 如果 string 為 null,函式會傳回空字串。
範例:
PadLeft("User", 10, "0")
會傳回 「000000User」。
PadRight
描述:
PadRight 函式會使用提供的填補字元,將字串右鍵填補到指定的長度。
語法:
str PadRight(str string, num length, str padCharacter)
- string:要填補的字串。
- length:代表字串所需長度的整數。
- padCharacter:字串,包含要作為填補字元的單一字元
備註:
- 如果字串的長度小於長度,則 padCharacter 會重複附加至字串結尾(右),直到其長度等於長度為止。
- padCharacter 可以是空白字元,但不能是 Null 值。
- 如果字串的長度等於或大於長度,則會傳回未變更的字串。
- 如果 string 的長度大於或等於 length,則會傳回與字串相同的字串。
- 如果字串長度小於長度,則會傳回所需長度的新字串,其中包含以 padCharacter 填補的字串。
- 如果 string 為 null,函式會傳回空字串。
範例:
PadRight("User", 10, "0")
傳回 「User0000000」。
PCase
描述:
PCase 函式會將字串中每個空格分隔字的第一個字元轉換成大寫,而所有其他字元都會轉換成小寫。
語法:
String PCase(string)
備註:
- 此函式目前不提供適當的大小寫來轉換完全大寫的單字,例如縮寫。
範例:
PCase("TEsT")
傳回 「Test」。
PCase(LCase("TEST"))
傳回 「Test」
RandomNum
描述:
RandomNum 函式會傳回指定間隔之間的亂數。
語法:
num RandomNum(num start, num end)
- start:識別要產生之隨機值下限的數位
- end:識別要產生之隨機值上限的數位
範例:
Random(100,999)
可以傳回 734。
RemoveDuplicates
描述:
RemoveDuplicates 函式會採用多重值字串,並確定每個值都是唯一的。
語法:
mvstr RemoveDuplicates(mvstr attribute)
範例:
RemoveDuplicates([proxyAddresses])
傳回已移除所有重複值的已清理 proxyAddress 屬性。
Replace
描述:
Replace 函式會將字串的所有專案取代為另一個字串。
語法:
str Replace(str string, str OldValue, str NewValue)
- string:要取代 中值的字串。
- OldValue:要搜尋 和 要取代的字串。
- NewValue:要取代的字串。
備註:
函式會辨識下列特殊的 Moniker:
- \n – 新行
- \r – 歸位字元
- \t – 索引標籤
範例:
Replace([address],"\r\n",", ")
以逗號和空格取代 CRLF,並可能導致「One Microsoft Way, Redmond, WA, USA」
ReplaceChars
描述:
ReplaceChars 函式會取代 ReplacePattern 字串中找到的所有字元。
語法:
str ReplaceChars(str string, str ReplacePattern)
- string:要取代 中字元的字串。
- ReplacePattern:包含含有要取代之字元字典的字串。
格式為 {source1}:{target1},{source2}:{target2},{sourceN},{targetN},其中 source 是要尋找的字元,並將目標設為要取代的字串。
備註:
- 函式會採用每個已定義來源的出現次數,並以目標取代它們。
- 來源必須是一個 (Unicode) 字元。
- 來源不能是空的或超過一個字元(剖析錯誤)。
- 目標可以有多個字元,例如 ö:oe、β:ss。
- 目標可以是空的,表示應該移除字元。
- 來源會區分大小寫,而且必須完全相符。
- 、(逗號)和 :(冒號)是保留字元,無法使用此函式取代。
- ReplacePattern 字串中的空格和其他白字元會被忽略。
範例:
%ReplaceString% = ’:,Å:A,Ä:A,Ö:O,å:a,ä:a,ö,o
ReplaceChars("Räksmörgås",%ReplaceString%)
傳回 Raksmorgas
ReplaceChars("O’Neil",%ReplaceString%)
傳回 「ONeil」,系統會定義要移除的單一刻度。
Right
描述:
Right 函式會從字串的右(結尾)傳回指定的字元數。
語法:
str Right(str string, num NumChars)
- string:要從中傳回字元的字串
- NumChars:識別要從字串結尾 (右) 傳回的字元數的數位
備註:
NumChars 字元會從字串的最後一個位置傳回。
字串,包含字串中的最後 numChars 字元:
- 如果 numChars = 0,則傳回空字串。
- 如果為 numChars < 0,則傳回輸入字串。
- 如果 string 為 null,則傳回空字串。
如果 string 包含的字元少於 NumChars 中指定的數位,則會傳回與字串相同的字串。
範例:
Right("John Doe", 3)
會傳回 「Doe」。
RTrim
描述:
RTrim 函式會從字串中移除尾端空白字元。
語法:
str RTrim(str value)
範例:
RTrim(" Test ")
傳回 「Test」。
選取
描述:
根據指定的函式,處理多重值屬性中的所有值(或運算式的輸出)。
語法:
mvattr Select(variable item, mvattr attribute, func function)
mvattr Select(variable item, exp expression, func function)
- item:代表多重值屬性中的專案
- attribute:多重值屬性
- 運算式:傳回值集合的運算式
- condition:任何可在 屬性中處理專案的函式
範例:
Select($item,[otherPhone],Replace($item,"-",""))
傳回已移除連字號 (-) 之後,其他多重值屬性中的所有值電話。
份額
描述:
Split 函式會採用以分隔符號分隔的字串,並使它成為多重值字串。
語法:
mvstr Split(str value, str delimiter)
mvstr Split(str value, str delimiter, num limit)
- value:具有分隔符號分隔符號的字串。
- 分隔符號:要作為分隔符號的單一字元。
- limit:可傳回的值數目上限。
範例:
Split("SMTP:john.doe@contoso.com,smtp:jd@contoso.com",",")
傳回多重值字串,其中包含 2 個適用于 proxyAddress 屬性的元素。
StringFromGuid
描述:
StringFromGuid 函式會採用二進位 GUID,並將它轉換成字串
語法:
str StringFromGuid(bin GUID)
StringFromSid
描述:
StringFromSid 函式會將包含安全性識別碼的位元組陣列轉換成字串。
語法:
str StringFromSid(bin ObjectSID)
Switch
描述:
Switch 函式是用來根據評估的條件傳回單一值。
語法:
var Switch(exp expr1, var value1[, exp expr2, var value … [, exp expr, var valueN]])
- expr:您想要評估的 Variant 運算式。
- value:如果對應的運算式為 True,則傳回的值。
備註:
Switch 函式引數清單包含一組運算式和值。 運算式會從左至右進行評估,並傳回與第一個評估為 True 之運算式相關聯的值。 如果元件未正確配對,就會發生執行階段錯誤。
例如,如果 expr1 為 True,Switch 會傳回 value1。 如果 expr-1 為 False,但 expr-2 為 True,Switch 會傳回 value-2 等等。
如果下列專案,Switch 會傳回 Nothing:
- 沒有運算式為 True。
- 第一個 True 運算式的對應值為 Null。
Switch 會評估所有運算式,即使它只傳回其中一個運算式。 基於這個理由,您應該注意不想要的副作用。 例如,如果評估任何運算式會導致零除錯誤,就會發生錯誤。
值也可以是 Error 函式,其會傳回自訂字串。
範例:
Switch([city] = "London", "English", [city] = "Rome", "Italian", [city] = "Paris", "French", True, Error("Unknown city"))
傳回某些主要城市所使用的語言,否則會傳回 Error。
Trim
描述:
Trim 函式會從字串中移除前置和尾端空白字元。
語法:
str Trim(str value)
範例:
Trim(" Test ")
傳回 「Test」。
Trim([proxyAddresses])
移除 proxyAddress 屬性中每個值的前置和尾端空格。
UCase
描述:
UCase 函式會將字串中的所有字元轉換成大寫。
語法:
str UCase(str string)
範例:
UCase("TeSt")
傳回 「TEST」。
其中
描述:
根據特定條件,從多重值屬性(或運算式的輸出)傳回值的子集。
語法:
mvattr Where(variable item, mvattr attribute, exp condition)
mvattr Where(variable item, exp expression, exp condition)
- item:代表多重值屬性中的專案
- attribute:多重值屬性
- 條件:任何可評估為 true 或 false 的運算式
- 運算式:傳回值集合的運算式
範例:
Where($item,[userCertificate],CertNotAfter($item)>Now())
傳回多重值屬性 userCertificate 中未過期的憑證值。
With
描述:
With 函式提供一個方法來簡化複雜運算式,方法是使用變數來表示在複雜運算式中出現一或多次的子運算式。
語法:With(var variable, exp subExpression, exp complexExpression)
- variable:表示子運算式。
- subExpression:以變數表示的 subexpression。
- complexExpression:複雜運算式。
範例:
With($unExpiredCerts,Where($item,[userCertificate],CertNotAfter($item)>Now()),IIF(Count($unExpiredCerts)>0,$unExpiredCerts,NULL))
在功能上相當於:
IIF (Count(Where($item,[userCertificate],CertNotAfter($item)>Now()))>0, Where($item,[userCertificate],CertNotAfter($item)>Now()),NULL)
只會傳回 userCertificate 屬性中未到期的憑證值。
Word
描述:
Word 函式會根據描述要使用的分隔符號和要傳回之字型大小的參數,傳回字串內所包含的單字。
語法:
str Word(str string, num WordNumber, str delimiters)
- string:要從中傳回單字的字串。
- WordNumber:識別應該傳回哪個字型大小的數位。
- 分隔符號:代表應該用來識別單字的分隔符號的字串
備註:
以分隔符號中其中一個字元分隔之字串中的每個字元字串都會識別為單字:
- 如果數位 < 1,則傳回空字串。
- 如果 string 為 null,則傳回空字串。
如果字串包含小於數位字,或字串不包含分隔符號所識別的任何單字,則會傳回空字串。
範例:
Word("The quick brown fox",3," ")
傳回 「brown」
Word("This,string!has&many separators",3,",!&#")
會傳回 「has」