toLabel()
toLabel 関数を使用して、SOQL クエリの結果をクエリ送信者の言語に翻訳します。
toLabel では、次の構文を使用します。
1toLabel(object.field)この関数を使用すると、次の検索結果が翻訳されて返されます。
- 関連する describe API コールによって返される値を含む、通常、multiselect、ディビジョン、または通貨コードの選択リスト項目。
- データカテゴリグループとデータカテゴリの一意の名前の項目。
- Recordtype の名前。
- オブジェクト履歴。HISTORY は制限付きでサポートされます。追跡項目が変更されると、句 SELECT toLabel(Field) FROM *History は、変更された項目の主表示ラベル、または既存の翻訳済み表示ラベルを返します。履歴オブジェクトの OldValue 項目と NewValue 項目も toLabel メソッドをサポートしますが、クエリで翻訳済みの値が返されるのは、サポートされる項目種別の変更追跡のみです。
1SELECT Company, toLabel(Recordtype.Name) FROM Lead返されるレコードは、クエリを発行したユーザーの言語に翻訳されます。
toLabel() では、クエリに同じ項目が複数回含まれるときに必要となる別名指定がサポートされています。次に例を示します。
1SELECT Company, Status, toLabel(Status) translatedStatus FROM LeadtoLabel() メソッドを使用して、翻訳された選択リスト値を使用するレコードを絞り込めます。次に例を示します。
1SELECT Company, toLabel(Status)
2FROM Lead
3WHERE toLabel(Status) = 'le Draft'このクエリでは、Status の選択リスト値が「le Draft」のリードレコードが返されます。ユーザーの言語での値が比較されます。選択リストの翻訳がない場合は、マスター値に対して比較が実行されます。
翻訳された選択リスト値には、次の制限事項が適用されます。
- LIKE 演算子がクエリを実行できるのは、その API 名ではなく、選択リストの表示ラベルのみです。
- toLabel() 関数は、演算子 ORDER BY では使用できません。SOQL では、選択リストの定義された順序が常に使用されます。
- ディビジョンまたは通貨の ISO コード選択リストで、WHERE 句に toLabel() 関数を使用することはできません。