この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

文字列関数

SAQL クエリで文字列演算を実行するには、文字列関数を使用します。

SAQL 演算子は文字列をサポートし、coalesce() 関数は文字列が含まれるリストで最初の null 以外の項目を返します。文字列の操作専用の SAQL 関数一覧を次の表に示します。

関数

次の表は、SAQL 文字列関数の一覧です。
関数 説明
ends_with(string, suffix)

この関数は、stringsuffix で終了する場合は true、それ以外の場合は false を返します。文字列の比較では、大文字と小文字は区別されません。いずれかのパラメータが null の場合、関数は null を返します。suffix が空の文字列の場合、関数は null を返します。

1ends_with("FIT", "T") == true
2ends_with("FIT", "BIT") == false
index_of(string, searchStr [,position [, occurence]])

この関数は、string 内の指定された position から、searchStr が occurrence 番目に一致した位置のインデックスを返します。searchStr が見つからない場合は 0 が返されます。この関数では、大文字と小文字が区別されます。いずれかのパラメータが null の場合、関数は null を返します。

position のデフォルト値は 1 です。つまり、関数は string の最初の文字から検索を開始します。position が負または 0 の場合、エラーが発生します。

指定されている場合、occurrencestring 内の何番目の一致を検索するかを示す整数です。occurrence の値は正にする必要があり、省略した場合はデフォルトで 1 が設定されます。たとえば、複数の一致があり、occurence が 2 の場合は、2 番目に一致した位置のインデックスを返します。

position および occurrence では定数値がサポートされ、任意の式はサポートされていません。

searchStr が空の文字列の場合、関数は null を返します。

1index_of("Hawaii", "a") == 2
2index_of("Hawaii", "a", 2) == 2
3index_of("Hawaii", "a", 3) == 4
4index_of("Hawaii", "a", 3, 2) == 0
5index_of("Hawaii", "i", -1, 1) == error
6index_of("Hawaii", "i", -3, 1) == error
7index_of("", "i") == null
8index_of("i", "") == null
len(string) この関数は、文字列内の文字数を返します。

len は、string の長さを文字数で返します。stringnull の場合、len(string) も null になります。

先頭および末尾の空白文字は、返される長さに含まれます。

1len("starfox") == 7
2len(" rocket ") == 8
3len("謝") == 1
4len("") == 0
lower(string)

この関数は、string のすべての文字を小文字にして返します。stringnull の場合、結果は null になります。Unicode の大文字と小文字の対応関係に関する upper() のメモを参照してください。

1lower("JAVA") == "java"
ltrim(string,chars) この関数は、文字列の左から指定した文字までを削除するか、先頭のスペースを削除します。

ltrim は、chars に含まれない文字の最初の位置より左側を削除した string の値を返します。

chars には複数の文字を含めることができます。chars を省略した場合、先頭の空白文字が削除されます。string または charsnull の場合、結果は null になります。

1ltrim("__c__val__", "_") == "c__val__"
2ltrim(string, " \t\r") == ltrim(string)
3ltrim("aabcd", "ab") == "cd"
number_to_string​(number, number_format) 数値リテラルを文字列リテラルに変換する関数です。Microsoft Excel® と同様の機能がサポートされます。
  • <POSITIVE>;<NEGATIVE> 形式
  • 0、#、小数点 (.)
  • 3 桁ごとの区切り文字
  • パーセント (末尾に % を付加)
  • 先頭および末尾の文字: $、+、-、(、)、:、!、^、&、’、~、{、}
次に例を示します。
数値リテラル 必須の文字列リテラル 使用する number_format
1234.56 1234.6 ####.#
8.9 8.900 #.000
.631 0.6 0.#
12 12.0 #.0#
1234.568 1234.57 #.0#
12000 12,000 #,###
12000 12 #,
12200000 12.2 0.0,,
12 00012 00000
0.03457 3.46% #.00%
12.3 $12.30 $#.00;($#.00)
-12.3 ($12.30) $#.00;($#.00)
32 + +;-
-32 - +;-
いずれかの引数が null の場合、または変換が失敗した場合、null が返されます。
replace(string、searchStr、replaceStr)

この関数は、一致するすべての searchStrreplaceStr で置き換えた string を返します。いずれかのパラメータが null の場合、関数は null を返します。searchStr が空の文字列の場合、null が返されます。この関数では、大文字と小文字が区別されます。

1replace("Watson, come quickly.", "quickly", "slowly") == "Watson, come slowly."
2replace("Watson, come quickly.", "o", "a") == "Watsan, came quickly."
3replace("Watson, come quickly.", "", "Mr.") == null
rtrim(string,chars) この関数は、文字列の右から指定した文字までを削除するか、末尾のスペースを削除します。

rtrim は、chars に含まれない文字の最後の位置より右側を削除した string の値を返します。

chars には複数の文字を含めることができます。chars を省略した場合、末尾の空白文字が削除されます。string または charsnull の場合、結果は null になります。

1rtrim("__c__val__", "_") == "__c__val"
2rtrim(ltrim(string, " \t\r"),  " \t\r") == trim(string,  " \t\r")
starts_with(string, prefix)

この関数は、stringprefix で開始する場合は true、それ以外の場合は false を返します。文字列の比較では、大文字と小文字は区別されません。いずれかのパラメータが null の場合、関数は null を返します。prefix が空の文字列の場合、関数は null を返します。

1starts_with("FIT", "F") == true
2starts_with("FIT", "BIT") == false
string_to_number(string) 文字列リテラルを数値リテラルに変換する関数です。

これは number_to_string 関数の逆です。変換が失敗した場合、null が返されます。

substr(string,position[, length]) この関数は、指定した位置で開始するサブ文字列を返します。必要に応じて、返されるサブ文字列の長さを指定します。

substr は、string から文字位置 position で開始する length 文字を返します。length を省略した場合、length = len(string) になるため、position から文字列の末尾までのすべての文字が返されます。いずれかのパラメータが null の場合、関数は null を返します。

string の最初の文字の位置は 1 です。position が負の場合、位置は文字列の末尾に対する相対位置になります。したがって、-1 のposition は最後の文字を示します。

length が負の場合、関数は null を返します。position > len (string)、position < -len(string)、または position = 0 の場合、空の文字列が返されます。

1substr("CRM", 1, 1) == "C"
2substr("CRM", 1, 2) == "CR"
3substr("CRM", -1, 1) == "M"
4substr("CRM", -2, 2) == "RM"
5substr("CRM", 4, 1) == ""
trim(string,chars) この関数は、文字列の左右から指定した文字までを削除するか、先頭と末尾のスペースを削除します。

trim は、chars に含まれない文字の最初と最後の位置より外側を削除した string の値を返します。

chars には複数の文字を含めることができます。chars を省略した場合、先頭と末尾の空白文字が削除されます。string または charsnull の場合、結果は null になります。

1trim("__c__val__", "_") == "c__val"
2trim("__c__val__", "_c") == "val"
3trim("   c__val   ") == "c__val"
4trim("   c__val   ") == ltrim(rtrim("   c__val   "))
5trim("aaaaaa", "a") == ""
upper(string)

この関数は、string のすべての文字を大文字にして返します。stringnull の場合、結果は null になります。

1upper("go") == "GO"
2upper ("große") == "GROßE"

upper() 関数と lower() 関数、およびこれらの関数の影響を受ける文字の動作は、Unicode 標準のデフォルトの大文字と小文字の対応関係によって決まります。この対応関係は、コンテキストや言語固有のルールに関係なく、各 Unicode 文字を単独で考慮します。上記の例では、ドイツ語の ß 文字の処理は反映されていません。自然言語変換では、GROSSE が生成されます。

メモ