メインコンテンツまでスキップ
Sumo Logic Japanese

concat

Concat オペレータで複数の文字列、数値およびフィールドを 1 つのユーザ定義フィールドに結合できます。文字列の端と端をつないで、定義した新しい文字列に結合します。たとえば、「foot」と「ball」という単語を連結して「football」という単語を生成できます。また、句読点や空白スペースを引用符で囲んで使用することで、文字列を読みやすくすることができます。

別の例として、ログ メッセージに住所の表が含まれていて、住所の各要素がStreet_NumberCityStateZip_Code のように分割されているとします。この場合には、連結オペレータを使用することで、顧客の住所を格納する Mailing_Address という新しいフィールドを生成できます。

さらに別の例として、Signature_NameVendor_SignatureIncident Detail_URL、および Analyst_Assessment という 4 つのフィールドを持つインシデントのログ メッセージがあり、これらのフィールドを Event_Detail という 1 つのフィールド (文字列) に組み合わせたい場合にも、連結オペレータが役に立ちます。

構文

  • concat(<field1>, <field2>[, <field3>, ...]) as <field>

ルール

  • 指定フィールドを連結した後のフィールド名を指定する必要があります。デフォルトの名前はありません。
  • 句読点や空白スペースを引用符で囲んで使用することで、文字列を読みやすくすることができます。
  • null フィールドは空の文字列として扱われます。
  • このオペレータで指定できる入力フィールド数は 2 ~ 16 です。使用したいフィールド数が 16 を超える場合は、オペレータを組み合わせて使用できます。例を参照してください。
  • AND と OR はサポートされません。

句読点あり/なしでのフィールドの連結

以下の 3 つのフィールドがあるとします: field1 = time、field2 = 4、field3 = logs。以下のクエリを実行すると:

... | concat(field1, field2, field3) as new_string

次の結果が返されます: new_string = time4logs

次のように空白スペースを引用符で囲んで追加すると:

... | concat(field1, " ", field2, " ", field3) as new_string

次の結果が返されます: new_string = time 4 logs

フィールドの連結による IP アドレスの作成

この例では、別々のメッセージ ログ フィールドから 4 つの数字フィールドをピリオドで区切って連結することで ip_address というフィールドを生成します。

... | concat(octet1, ".", octet2, ".", octet3, ".", octet4) as ip_address

名前と名字の連結

この例では、名前と名字のフィールドを連結して fullName という新しいフィールドを生成します。

... | concat(firstName, " ", lastName) as fullName

日付のフォーマット

concat オペレータを次のように使用することで、日付をフォーマットできます。

... | concat(month, "/", day, "/", year) as date

16 を超える入力フィールドの連結

concat オペレータで 16 を超える入力フィールドを連結するには、以下のどちらかの形式を使用してオペレータを組み合わせることができます。

  • ... | concat(field1, field2, ...) as b | concat(b, field17, field18,...) as c | …
  • ... | concat(concat(field1, field2, ...), field17, field18,...) as concatenated_fields

その他の参照先

文字列のフォーマットについての詳細は、format オペレータの説明を参照してください。

  • この記事は役に立ちましたか?