本節包含適用於字串值之函數的簡要說明。
函數 | 作用 |
---|---|
convert | 將字串轉換成另一種資料類型,或將另一種資料類型轉換成字串。 |
decode | 將已編碼的字串表示式轉換回原始字串。 |
encode | 將字串表示式轉換成無意義的字串。 |
hex | 將包含十六進位字元碼的字串文字轉換成 ASCII 字串。 |
in_set | 如果一個字串完全由另一個字串的字元所組成,則傳回布林值 true。 |
is_number | 如果字串表示式評估為浮點或整數值,則傳回布林值 true。 |
is_time | 如果字串表示式評估為有效的時間值,則傳回布林值 true。 |
len | 傳回字串的長度。 |
將字串的字元變更為小寫或大寫。 | |
從字串的開頭 (ltrim)、結尾 (rtrim) 或兩端 (trim) 刪除空白或指定的字元。 | |
max | 從任何受支援資料類型的表示式清單中傳回最大值。 |
min | 從任何受支援資料類型的表示式清單中傳回最小值。 |
numbertostring | 使用指定的遮罩,將浮點或整數表示式轉換成字串表示式。 |
repeat | 以指定的次數重複另一個字串,以建立字串。 |
strins | 將一個字串插入另一個字串的指定位置中。 |
strloc | 傳回字串內子字串的起始位置。 如果找不到子字串,此函數會傳回零。 |
stringtotime | 使用指定的遮罩,將字串表示式轉換成時間表示式。 |
substitute | 在字串內,將一個子字串取代成另一個子字串。 |
substr | 傳回具有指定起始位置和長度的子字串。 |
timetostring | 使用指定的遮罩,將時間表示式轉換成字串表示式。 |
translate | 取代字串中的字元。 |
xmlencode | 將 XML 欄位轉換成字串表示式。 |
xmldecode | 將字串表示式轉換成 XML。 |
此函數會將十六進位字元碼的字串文字轉換成 ASCII 字串。 hex 函數可以表示任何字元,但您通常將它用於沒有 ASCII 表示法的字元,如定位點。
hex (hex_codes)
其中 hex_codes 是包含一個字元或一系列字元之十六進位碼的字串文字。hex ("616263")
此函數會藉由將一個字串中的字元取代成您所指定的字元,以建立一個新字串。translate 函數對於編碼字元非常有用。
translate (source_string, search_string,
replace_string)
其中:參數 | 說明 |
---|---|
source_string | 包含要取代的字元之字串。 |
search_string | source_string 內要取代的字元字串。 長度必須與 replace_string 相同。 |
replace_string | 取代字元的字串。長度必須與 search_string 相同。 |
搜尋並取代是針對每個字元來進行。 如果搜尋字串為 "abc" 且取代字串為 "def",此函數會在新建字串中將 "a" 轉換成 "d",將 "b" 轉換成 "e",將 "c" 轉換成 "f"。
source_string 包含 "*123-#44-!999"
search_string 包含 "#*!-"
replace_string 包含 "XYZ&"
此函數會輸出下列新字串:Y123&X44&Z999
請注意,來源字串、搜尋字串及取代字串的內容不會變更。
translate (str, ".,", ",.")
lower (string_exp)
upper (string_exp)
其中 string_exp 是要轉換的字串表示式。此函數會比較兩個字串,如果第一個字串中的每個字元包含在第二個字串中的某個位置,則會傳回布林值 true。如果第一個字串至少有一個字元並未包含在第二個字串中,此函數會傳回 false 值。 兩個字串中的字元不必以相同順序出現;此外,第二個字串可以包含其他字元。
in_set (subset_string, superset_string)
其中:參數 | 說明 |
---|---|
subset_string | 只包含子集字元的字串表示式。 |
superset_string | subset_string 與其進行比較的字串表示式。 |
in_set (name, "abcdefghijklmnopqrstuvwxyz")
此函數會傳回 true,若name = "jim"
則會傳回 false,若name = "Fido"
或name = "a.b"
len (string_expr)
其中 string_expr 是要計算長度的字串表示式。len ("Hamilton Burger")
repeat (string_expr, repeat_num)
其中:參數 | 說明 |
---|---|
string_expr | 要重複的字串表示式。 |
repeat_num | 要重複 string_exp 的次數。 |
repeat ("abcd", 5)
子字串是來源字串的一部分;它可以小於或等於來源字串的長度。例如,Good、Morn、od Morni 和 Good Morni 都是 Good Morning 的子字串。
使用 strloc 函數來找出特定子字串出現在來源字串中的位置。 此函數會傳回來源字串中子字串的起始字元位置。
如果子字串可以在來源字串中重複找到,此函數會傳回其第一個出現項目的起始位置。如果找不到子字串,或子字串比來源字串長,此函數會傳回零。
strloc (source_string, sub_string)
其中:參數 | 說明 |
---|---|
source_string | 要在其中搜尋子字串的字串。 |
sub_string | 要搜尋的字串。 |
strloc ("Good Morning", "Morning")
此函數會從來源字串中擷取子字串,從而建立新字串。 您可以指定來源字串及開始擷取的字元位置。此外,您還可以選擇性提供要擷取的字元數;如果未提供此資訊,擷取作業會在來源字串結尾處停止。
substr (source_string, start_pos {, length})
其中:參數 | 說明 |
---|---|
source_string | 來源字串。 |
start_pos | 擷取開始的字元位置。 |
length | 要擷取的字元數(例如,擷取的字串長度)。 |
substr ("Good Morning!", 6, 7)
此函數在超出字串長度的字串位置處也會擷取零長度字串(引號之間沒有字元的字串)。此用法對於將零長度字串當作邊緣條件的演算法很有幫助。您可以擷取從位置 1 到字串最後一個字元 +1 的字元;因此,位置 1 和字串長度 +1 為邊緣條件。
在下列情況下會發生執行時期錯誤:
strins (source_string, insert_string, start_pos)
其中:參數 | 說明 |
---|---|
source_string | 將與 insert_string 結合來產生新字串的字串。 |
insert_string | 將與 source_string 結合來產生新字串的字串。 |
start_pos | source_string 中開始插入的位置;值的範圍從 1 到 source_string 長度 + 1。 如果指定的值小於 1 或大於 source_string + 1,則會發生執行時期錯誤。 |
insert_str = "Mr. Jones,"
以及 source_str = "Good morning, what a lovely day."
strins (source_str, insert_str, 15)
Good morning, Mr. Jones, what a lovely day.
substitute (source_string, unwanted_string,
replacement_string)
其中:參數 | 說明 |
---|---|
source_string | 包含 unwanted_string 的字串。 |
unwanted_string | source_string 的子字串。 |
replacement_string | 將取代 unwanted_string 來建立新字串的字串。 |
substitute (TestString, "abc", "wxyz")
TestString = "abcdabcd"
此函數會傳回下列新字串:wxyzdwxyzd
請注意,來源字串、不需要的字串及取代字串的內容不會變更。這些函數會複製現有來源字串,並從新字串的開頭 (ltrim)、結尾 (rtrim) 或兩端 (trim) 刪除空白或指定的字元,以建立一個新字串。無論如何,來源字串都會維持不變。
ltrim (string_expr{, trim_char}opt)
rtrim (string_expr{, trim_char}opt)
trim (string_expr{, trim_char}opt)
其中:參數 | 說明 |
---|---|
string_expr | 要複製的來源字串表示式。 |
trim_char | 選用參數,用於指定要從新字串中刪除的字元。如果未指定此參數,則會刪除空白。 視函數而定,刪除作業會從新字串開頭、結尾或兩端開始,直到找到 trim_char 中未指定的字元(或非空白字元)為止。 |
LastName = "Smith"
傳回的新字串為 "Smith"
ltrim (LastName)
Status = "OpenXY&Z&&&&"
傳回的新字串為 "OpenXY&Z"
rtrim (Status, "&")
rtrim (AccountName, "0123456789")
此函數決定指定的字串表示式評估為浮點或整數值。如果整個字串(而不僅是子字串)評估為浮點或整數,則 is_number 函數會傳回布林值 true,否則會傳回 false。
is_number (expr)
其中 expr 是字串表示式。is_number ("123.4")
is_number ("no")
is_number ("abc63j")
此函數決定指定的字串表示式是否評估為所指定格式的時間值。如果整個字串(而不僅是子字串)評估為所指定格式的時間,則 is_time 函數會傳回布林值 true;否則,此函數傳回值 false。
is_time (str_expr, date_time_mask)
其中:參數 | 說明 |
---|---|
str_expr | 字串表示式。 |
date_time_mask | 日期/時間遮罩,其指定 str_expr 必須使用才能讓 is_time 傳回 true 值的格式。 |
is_time ("nov121995", "mm/dd/yyyy")
is_time ("11/12/1995", "mm/dd/yyyy")
timetostring (time_expr, date_time_mask)
其中:參數 | 說明 |
---|---|
time_expr | Time 類型的表示式。 |
date_time_mask | 決定 timetostring 函數輸出格式的日期/時間遮罩。 |
timetostring (systemtime(), "mm/dd/yyyy hh:tt:ss am")
7/1/1985 12:45:06 pm
請參閱 systemtime() 函數的相關資訊。
stringtotime (string_expr, date_time_mask)
其中:參數 | 說明 |
---|---|
string_expr | String 類型的表示式。 |
date_time_mask | 指定轉換所用時間格式的日期/時間遮罩。 |
stringtotime (HostTime, "mon. dd, yyyy hh:tt:ss am")
HostTime = "Jul. 1, 1985 12:45:06 pm"
,則產生的輸出為等同於 1985 年 7 月 1 日下午 12 點 45 分 6 秒的時間值。