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 的函式可同時處理單一值和多重值屬性。

函式參考


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 函式會從字串的右(結尾)傳回指定的字元數。

語法:
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」

其他資源