すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:文字列関数

最終更新日:Feb 27, 2026

このトピックでは、文字列関数の構文と使用例について説明します。

Simple Log Service では、以下の文字列関数がサポートされています。

重要 分析文で文字列を使用する場合は、必ずシングルクォート(')で囲んでください。囲まれていない文字列、またはダブルクォート(")で囲まれた文字列は、フィールド名または列名として解釈されます。たとえば、'status' は status 文字列を示し、status"status" は status ログフィールドを示します。

関数名

構文

説明

SQL 対応

SPL 対応

chr 関数

chr(x)

ASCII コードを文字に変換します。

codepoint 関数

codepoint(x)

文字を ASCII コードに変換します。

concat 関数

concat(x, y...)

複数の文字列を 1 つの文字列に連結します。

from_utf8 関数

from_utf8(x)

バイナリ文字列を UTF-8 エンコード形式にデコードし、不正な UTF-8 文字をデフォルト文字 U+FFFD で置き換えます。

from_utf8(x, replace_string)

バイナリ文字列を UTF-8 エンコード形式にデコードし、不正な UTF-8 文字をカスタム文字列で置き換えます。

length 関数

length(x)

文字列の長さを計算します。

levenshtein_distance 関数

levenshtein_distance(x, y)

xy の間の最小編集距離を計算します。

×

lower 関数

lower(x)

文字列を小文字に変換します。

lpad 関数

lpad(x, length, lpad_string)

文字列の先頭に指定された文字を指定された長さまでパディングし、結果の文字列を返します。

ltrim 関数

ltrim(x)

文字列の先頭の空白を削除します。

normalize 関数

normalize(x)

文字列を NFC 形式でフォーマットします。

×

position 関数

position(sub_string in x)

文字列内におけるサブストリングの位置を返します。

×

replace 関数

replace(x, sub_string )

文字列から一致した文字を削除します。

replace(x, sub_string, replace_string)

文字列内で一致した文字を指定された文字で置き換えます。

reverse 関数

reverse(x)

文字列を逆順で返します。

rpad 関数

rpad(x, length, rpad_string)

文字列の末尾に指定された文字を指定された長さまでパディングし、結果の文字列を返します。

rtrim 関数

rtrim(x)

文字列の末尾の空白を削除します。

split 関数

split(x, delimeter)

指定された区切り文字を使用して文字列を分割し、サブストリングのコレクションを返します。

split(x, delimeter, limit)

指定された区切り文字を使用して文字列を分割し、limit を使用して分割数を制限したうえで、分割されたサブストリングのコレクションを返します。

split_part 関数

split_part(x, delimeter, part)

指定された区切り文字を使用して文字列を分割し、指定された位置のコンテンツを返します。

split_to_map 関数

split_to_map(x, delimiter01, delimiter02)

文字列を指定された第 1 の区切り文字で分割した後、その結果をさらに指定された第 2 の区切り文字で分割します。

strpos 関数

strpos(x, sub_string)

文字列内におけるサブストリングの位置を返します。この関数は、position(sub_string in x) 関数と等価です。

substr 関数

substr(x, start)

文字列内の指定された位置からサブストリングを返します。

substr(x, start, length)

文字列内の指定された位置から指定された長さのサブストリングを返します。

to_utf8 関数

to_utf8(x)

文字列を UTF-8 エンコード形式に変換します。

trim 関数

trim(x)

文字列の先頭および末尾の空白を削除します。

upper 関数

upper(x)

文字列を大文字に変換します。

csv_extract_map 関数

csv_extract_map(x, delimeter, quote, keys)

対象文字列から単一行 CSV 情報を抽出します。

×

ilike 関数

ilike(x, pattern)

文字列が指定された文字パターンと一致するかどうかをチェックします。このチェックは大文字・小文字を区別しません。

str_uuid 関数

str_uuid()

ランダムな 128 ビット ID を生成し、文字列形式で返します。

×

gzip_compress 関数

gzip_compress(data, compression_level)

文字列オブジェクトを受け取り、GZIP アルゴリズムで圧縮し、圧縮されたバイナリストリームを返します。

×

gzip_decompress 関数

gzip_decompress(binary_data)

GZIP 圧縮済みのバイナリデータ(Varbinary)を受け取り、展開します。

×

search 関数

search(search_expression)

SQL 分析文内でログデータに対して全文検索を実行します。ブール演算、フィールド固有の検索、あいまい検索、範囲検索をサポートしています。

×

chr 関数

chr 関数は、ASCII コードを文字に変換します。

構文

chr(x)

パラメーター

パラメーター

説明

x

ASCII コードです。

戻り値のデータ型

VARCHAR 型。

次のクエリは、region フィールドの値が「c」で始まるかどうかを確認します。ASCII コード 99 は小文字の「c」を表します。

  • サンプルフィールド

    region:cn-shanghai
  • クエリ文(テスト

    * | SELECT
      substr(region, 1, 1) = chr(99)
  • クエリおよび分析結果chr

codepoint 関数

codepoint 関数は、文字を ASCII コードに変換します。

構文

codepoint(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

INTEGER 型。

次のクエリは、region フィールドの値が「c」で始まるかどうかを確認します。ASCII コード 99 は小文字の「c」を表します。

  • サンプルフィールド

    upstream_status:200
  • クエリ文(テスト

    * | SELECT
      codepoint(cast (substr(region, 1, 1) AS char(1))) = 99
  • クエリおよび分析結果codepoint

concat 関数

concat 関数は、複数の文字列を 1 つの文字列に連結します。

構文

concat(x, y...)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

y

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、region フィールドおよび request_method フィールドの値を連結します。

  • サンプルフィールド

    region:cn-shanghai
    time:14/Jul/2021:02:19:40
  • クエリ文(テスト

    * | SELECT
      concat(region, '-', time)
  • クエリおよび分析結果concat函数

from_utf8 関数

from_utf8 関数は、バイナリ文字列を UTF-8 エンコード形式にデコードします。

構文

  • 不正な UTF-8 文字をデフォルト文字 U+FFFD で置き換えます。

    from_utf8(x)
  • 不正な UTF-8 文字をカスタム文字列で置き換えます。

    from_utf8(x,replace_string)

パラメーター

パラメーター

説明

x

値はバイナリ型です。

replace_string

置換に使用する文字列です。これは単一の文字またはスペースのみ可能です。

戻り値のデータ型

VARCHAR 型。

  • 次のクエリは、バイナリ文字列 0x80 を UTF-8 エンコード形式にデコードし、返された結果内の不正な UTF-8 文字をデフォルト文字 U+FFFD で置き換えます。U+FFFD はデフォルトの置換文字として表示されます。

    • クエリ文(テスト

      * | SELECT
        from_utf8(from_base64('0x80'))
    • クエリおよび分析結果from_utf8

  • 次のクエリは、バイナリ文字列 0x80 を UTF-8 エンコード形式にデコードし、返された結果内の不正な UTF-8 文字を「0」で置き換えます。

    • クエリ文(テスト

      * | SELECT
        from_utf8(from_base64('0x80'), '0')
    • クエリおよび分析結果from_utf8

length 関数

length 関数は、文字列の長さを計算します。

構文

length(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

BIGINT 型。

次のクエリは、http_user_agent フィールドの値の長さを計算します。

  • サンプルフィールド

    http_user_agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2
  • クエリ文(テスト

    * | SELECT
      length(http_user_agent)
  • クエリおよび分析結果length函数

levenshtein_distance 関数

levenshtein_distance 関数は、2 つの文字列間の最小編集距離を計算します。

構文

levenshtein_distance(x, y)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

y

値は VARCHAR 型です。

戻り値のデータ型

BIGINT 型。

次のクエリは、instance_id フィールドの値と owner_id フィールドの値との間の最小編集距離を計算します。

  • サンプルフィールド

    instance_id:i-01
    owner_id:owner-01
  • クエリ文(デバッグ

    * | SELECT
      levenshtein_distance(owner_id, instance_id)
  • クエリおよび分析結果levenshtein_distance

lower 関数

lower 関数は、文字列を小文字に変換します。

構文

lower(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、request_method フィールドの値を小文字に変換します。

  • サンプルフィールド

    request_method:GET
  • クエリ文(テスト

    * | SELECT
      lower(request_method)
  • クエリおよび分析結果lower函数

lpad 関数

lpad 関数は、対象文字列の先頭に指定された文字を指定された長さまでパディングします。

構文

lpad(x, length, lpad_string)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

length

結果文字列の長さを指定する整数です。

  • 文字列の長さが length より小さい場合、文字列の先頭に指定された文字でパディングされます。

  • 文字列の長さが length より大きい場合、文字列の先頭から length 文字だけが返されます。

lpad_string

新しいパディング文字が利用可能になりました。

戻り値のデータ型

VARCHAR 型。

次のクエリは、instance_id フィールドの値の先頭に「0」を追加し、合計で 10 文字の長さにします。

  • サンプルフィールド

    instance_id:i-01
  • クエリ文(テスト

    * | SELECT
      lpad(instance_id, 10, '0')
  • クエリおよび分析結果lpad

ltrim 関数

ltrim 関数は、文字列の先頭の空白を削除します。

構文

ltrim(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、region フィールドの値の先頭の空白を削除します。

  • サンプルフィールド

    region: cn-shanghai
  • クエリ文(テスト

    * | SELECT
      ltrim(region)
  • クエリおよび分析結果ltrim

normalize 関数

normalize 関数は、文字列を正規化形式 C(NFC)形式でフォーマットします。

構文

normalize(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、「schön」を NFC 形式でフォーマットします。

  • クエリ文(テスト

    * | SELECT
      normalize('schön')
  • クエリおよび分析結果normalize

position 関数

position 関数は、文字列内における対象サブストリングの位置を返します。

構文

position(sub_string in x)

パラメーター

パラメーター

説明

sub_string

対象となるサブストリングです。

x

値は VARCHAR 型です。

戻り値のデータ型

INT 型。値は 1 から始まります。対象のサブストリングが見つからない場合は、0 を返します。

次のクエリは、cn というサブストリングが region フィールドの値の何番目の位置にあるかを調べます。

  • サンプルフィールド

    region:cn-shanghai
  • クエリ文(テスト

    * | SELECT
      position('cn' in region)
  • クエリおよび分析結果position函数

replace 関数

replace 関数は、文字列から文字を削除したり、他の文字で置き換えたりします。

構文

  • 文字列から一致した文字を削除できます。

    replace(x, sub_string)
  • サブストリングのすべての出現箇所を別の文字列で置き換えます。

    replace(x, sub_string, replace_string)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

sub_string

対象となるサブストリングです。

replace_string

置換に使用するサブストリングです。

戻り値のデータ型

VARCHAR 型。

  • 例 1:次のクエリは、cnregion フィールドの値から China に置き換えます。

    • サンプルフィールド

      region:cn-shanghai
    • サンプルクエリ(デバッグ

      * | select
        replace(region, 'cn', 'China')
    • クエリおよび分析結果replace

  • 例 2:次のクエリは、cn-region フィールドの値から削除します。

    • サンプルフィールド

      region:cn-shanghai
    • クエリ文(テスト

      * | select
        replace(region, 'cn-')
    • クエリおよび分析結果replace

reverse 関数

reverse 関数は、文字列を逆順で返します。

構文

reverse(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

request_method フィールドの値を降順で並べ替えます。

  • サンプルフィールド

    request_method:GET
  • クエリ文(テスト

    * | SELECT
      reverse(request_method)
  • クエリおよび分析結果reverse

rpad 関数

rpad 関数は、文字列の末尾に指定された文字を指定された長さまでパディングします。

構文

rpad(x, length, rpad_string)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

length

結果文字列の長さを指定する整数です。

  • 文字列の長さが length より小さい場合、文字列の末尾に指定された文字でパディングされます。

  • 文字列の長さが length より大きい場合、文字列の先頭から length 文字だけが返されます。

rpad_string

パディングに使用する新しい文字です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、instance_id フィールドの値の末尾に「0」を追加し、合計で 10 文字の長さにします。

  • サンプルフィールド

    instance_id:i-01
  • クエリ文(デバッグ

    * | SELECT
      rpad(instance_id, 10, '0')
  • クエリおよび分析結果rpad

rtrim 関数

rtrim 関数は、文字列の末尾の空白を削除します。

構文

rtrim(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、instance_id フィールドの値の末尾の空白を削除します。

  • サンプルフィールド

    instance_id:i-01 
  • クエリ文(デバッグ

    * | SELECT
      rtrim(instance_id)
  • クエリおよび分析結果rtrim

split 関数

split 関数は、指定された区切り文字を使用して文字列を分割し、結果のサブストリングの配列を返します。

構文

  • 指定された区切り文字を使用して文字列を分割します。

    split(x, delimeter)
  • 指定された区切り文字を使用して文字列を指定された数のサブストリングに分割します。

    split(x,delimeter,limit)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

delimeter

区切り文字です。

limit

分割数です。値は 0 より大きい整数である必要があります。

戻り値のデータ型

配列型です。

  • 例 1:次のクエリは、request_uri フィールドの値をスラッシュ(/)を区切り文字として 4 つのサブストリングに分割し、結果の配列を返します。

    • サンプルフィールド

      request_uri:/request/path-1/file-9
    • クエリ文(テスト

      * | SELECT
        split(request_uri, '/')
    • クエリおよび分析結果split

  • 例 2:次のクエリは、request_uri フィールドの値をスラッシュ(/)を区切り文字として 3 つのサブストリングに分割し、結果の配列を返します。

    • サンプルフィールド

      request_uri:/request/path-1/file-9
    • クエリ文(テスト

      * | SELECT
        split(request_uri, '/', 3)
    • クエリおよび分析結果split

split_part 関数

split_part 関数は、指定された区切り文字を使用して文字列を分割し、指定された位置のサブストリングを返します。

構文

split_part(x, delimeter, part)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

delimeter

区切り文字です。

part

0 より大きい整数です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、request_uri フィールドの値を疑問符(?)で分割し、最初のサブストリング(ファイルパス)を返します。その後、各パスに対するリクエスト数をカウントします。

  • サンプルフィールド

    request_uri: /request/path-2/file-6?name=value&age=18
    request_uri: /request/path-2/file-0?name=value&age=18
    request_uri: /request/path-3/file-2?name=value&age=18
  • クエリ文(テスト

    * | SELECT
      count(*) AS PV,
      split_part(request_uri, '?', 1) AS Path
    GROUP BY
      Path
    ORDER BY
      pv DESC
  • 分析結果Top 3 endpoints

split_to_map 関数

split_to_map 関数は、文字列を第 1 の指定された区切り文字で分割した後、その結果を第 2 の指定された区切り文字で再度分割します。

構文

split_to_map(x, delimiter01, delimiter02)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

delimeter01

区切り文字です。

delimeter02

区切り文字です。

戻り値のデータ型

マップ型。

次のクエリは、time フィールドの値をカンマ(,)およびコロン(:)で分割します。結果はマップになります。

  • サンプルフィールド

    time:upstream_response_time:"80", request_time:"40"
  • クエリ文

    * | SELECT
      split_to_map(time, ',', ':')
  • クエリおよび分析結果split_to_map

strpos 関数

strpos 関数は、文字列内における対象サブストリングの位置を返します。この関数は position 関数と等価です。

構文

strpos(x, sub_string)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

sub_string

対象となるサブストリングです。

戻り値のデータ型

INT 型。値は 1 から始まります。対象のサブストリングが見つからない場合は、0 を返します。

次のクエリは、server_protocol フィールドの値において、文字「H」の位置を返します。

  • クエリ文(テスト

    * | SELECT
      strpos(server_protocol, 'H')
  • クエリおよび分析結果strpos

substr 関数

substr 関数は、文字列内の指定された位置からサブストリングを返します。

構文

  • 文字列内の指定された位置からサブストリングを返します。

    substr(x, start)
  • 指定された開始位置から指定された長さのサブストリングを返します。

    substr(x,start,length)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

start

サブストリングの抽出を開始する位置です。値は 1 から始まります。

length

サブストリングの長さです。

戻り値のデータ型

VARCHAR 型。

次のクエリは、HTTP の部分を含む server_protocol フィールドの値から先頭 4 文字を抽出します。その後、HTTP プロトコルを使用するリクエスト数をカウントします。

  • サンプルフィールド

    server_protocol:HTTP/2.0
  • クエリ文(テスト

    * | SELECT
      substr(server_protocol, 1, 4) AS protocol,
      count(*) AS count
    GROUP BY
      server_protocol
  • クエリおよび分析結果substr

to_utf8 関数

to_utf8 関数は、文字列を UTF-8 バイナリ表現にエンコードします。

構文

to_utf8(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARBINARY 型。

ログ文字列を UTF-8 エンコード形式に変換します。

  • クエリ文(テスト

    * | SELECT
      to_utf8('log')
  • クエリおよび分析結果to_utf8

trim 関数

trim 関数は、文字列の先頭および末尾の空白を削除します。

構文

trim(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、instance_id フィールドの値の先頭および末尾の空白を削除します。

  • サンプルフィールド

    instance_id: i-01 
  • クエリ文(テスト

    * | SELECT
      trim(instance_id)
  • クエリおよび分析結果rtrim

upper 関数

upper 関数は、対象文字列を大文字に変換します。

構文

upper(x)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

戻り値のデータ型

VARCHAR 型。

次のクエリは、region フィールドの値を大文字に変換します。

  • サンプルフィールド

    region:cn-shanghai
  • クエリ文(テスト

    * | SELECT
      upper(region)
  • クエリおよび分析結果upper函数

csv_extract_map 関数

csv_extract_map 関数は、対象文字列から単一行 CSV 情報を抽出します。

構文

csv_extract_map(x, delimeter, quote, keys)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

delimeter

CSV 区切り文字です。値は VARCHAR 型であり、長さは 1 です。

quote

CSV 引用符です。値は VARCHAR 型であり、長さは 1 です。

keys

CSV 情報の出力に使用するキー名です。値は配列型です。要素数がデータ内の CSV 情報の数と異なる場合、NULL が返されます。

戻り値のデータ型

map(varchar, varchar) 型。

次のクエリは、content フィールドから CSV 情報を抽出します。

  • サンプルフィールド

    content: '192.168.0.100,"10/Jun/2019:11:32:16,127 +0800",example.aliyundoc.com'
  • クエリ文

    select csv_extract_map(content, ',', '"', array['ip', 'time', 'host']) as item
  • 出力データ

    image

ilike 関数

ilike 関数は、入力文字列が指定された文字パターンと一致するかどうかをチェックします。このチェックは大文字・小文字を区別しません。

構文

ilike(x, pattern)

パラメーター

パラメーター

説明

x

値は VARCHAR 型です。

pattern

文字列とワイルドカード文字を含む文字パターンです。次の表にワイルドカード文字を示します。

  • パーセント記号(%)は任意の数の文字を表します。

  • アンダースコア(_)は単一の文字を表します。

戻り値のデータ型

BOOLEAN 型。

次のクエリは、request_uri が「file-6」で終わるかどうかをチェックします。

  • サンプルフィールド

request_uri: '/request/path-2/File-6'
  • クエリ文

select ilike(request_uri, '%file-6')
  • 出力データ

image.png

str_uuid 関数

str_uuid() 関数は、ランダムな 128 ビットの ID を生成し、文字列として返します。

構文

str_uuid()

戻り値

  • 戻り値のデータ型: VARCHAR

  • 形式: 32 桁の 16 進数と 4 つのハイフン - を含む標準的な 36 文字の文字列です。

  • 構造例: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

この例では、ステージング環境で多数の一意の識別子を迅速に生成する方法を示します。

* | extend uuid = str_uuid()

gzip_compress 関数

gzip_compress 関数は、文字列オブジェクトを受け取り、GZIP アルゴリズムで圧縮して、圧縮されたバイナリデータを返します。

構文

-- Method 1: Default compression level (6)
gzip_compress(data)

-- Method 2: Specify compression level
gzip_compress(data, compression_level)

パラメーター

パラメーター

説明

data

VARCHAR

圧縮する文字列コンテンツです。

compression_level

BIGINT

圧縮レベルです。値は 1 から 9 までの整数です。

戻り値

  • 戻り値のデータ型VARBINARY

  • 説明: 圧縮されたバイナリデータです。

  • 例 1:基本的な圧縮

    * | extend compress_data =  gzip_compress('Hello World')
  • 例 2:最大圧縮率(大規模テキストの場合)

    ログエントリが数万文字に及ぶ場合、およびストレージ容量が気になる場合は、レベル 9 を使用します:

    * | extend compress_data =  gzip_compress('Hello World',9)

gzip_decompress 関数

gzip_decompress 関数は、GZIP 圧縮済みのバイナリデータ(Varbinary)を受け取り、それを解凍します。

構文

gzip_decompress(binary_data)

パラメーター

binary_data は有効な GZIP 圧縮データである必要があります。これは通常、gzip_compress によって生成されます。入力が標準の GZIP フォーマットでない場合、この関数は NULL を返します。

戻り値

  • 戻り値の型: VARCHAR

  • 説明: 展開後の元のプレーンテキストコンテンツです。


  • シンプルな圧縮および展開パイプライン:

    * | extend original_content =  gzip_decompress(gzip_compress('Hello SLS!'))
    -- Output: "Hello SLS!"

search 関数

search 関数は、SQL 分析文内でログデータに対して全文検索を実行します。search 関数は標準の SQL 関数として提供されており、ブール演算、フィールド固有の検索、あいまい検索、範囲検索を含む複雑なクエリ条件をサポートしています。

制限事項

制限事項

説明

単一インスタンスの制限

各サブクエリ(基になる SELECT)では、search() 関数を 1 つだけ使用できます。複数のクエリ条件が必要な場合は、それらを単一の search() 呼び出しに統合します。たとえば、search('error AND timeout') のようにします。

OR オペレーターの制限

search() 関数は、SQL レイヤーで OR オペレーターと一緒に使用できません。search 関数内で OR を使用できます(例: search('error OR warning'))。

インデックスを作成しており、スキャンモードではありません。

search 関数はスキャンモードではサポートされていません。

クエリ構文入力の競合

クエリ構文入力に実際のフィルター条件が含まれている場合、検索機能を使用できません。クエリ構文入力が Empty であるか、* の場合にのみ、この機能を使用できます。

パラメーターの型

search 関数のパラメーターは文字列リテラルである必要があります。列参照、変数、関数式などの動的な値はサポートされていません。

パラメーターの数

この関数は、正確に 1 つのパラメーターを受け入れる必要があります。

構文

search(search_expression)

クエリ文での使用フォーマットは次のとおりです。

* | SELECT ... FROM log WHERE search('search_expression')

重要: search 関数は WHERE 句でのみ使用できます。

パラメーター

パラメーター

説明

search_expression

クエリ式を表す文字列リテラルです。search_expression は、Simple Log Service クエリ構文を完全に準拠する必要があります。また、クエリ構文と同様の機能(全文検索、フィールド固有の検索、ブール値操作、あいまいクエリ、および範囲クエリ)を提供します。

戻り値のデータ型

BOOLEAN。true は、現在の行がクエリ条件に一致することを示します。false は、現在の行がクエリ条件に一致しないことを示します。

  • 例 1:次のクエリは、search 関数を使用して「error」と「timeout」を含むログを検索します。

    * | SELECT * FROM log WHERE search('error AND timeout')
  • 例 2:次のクエリは、search 関数を使用して、status フィールドが 200 であるログのフィールド固有の検索を実行します。

    * | SELECT * FROM log WHERE search('status: 200')
  • 例 3:次のクエリは、search 関数と SQL 述語を AND で結合して、status が 200 で request_time が 100 より大きいログを検索します。

    * | SELECT * FROM log
        WHERE search('status: 200') AND request_time > 100

    詳細については、「search 関数を使用した全文検索の実行」をご参照ください。