Todos los productos
Search
Centro de documentos

Simple Log Service:Expresiones condicionales

Última actualización: Sep 02, 2026

Este tema describe la sintaxis de las expresiones condicionales. También se proporcionan ejemplos sobre cómo utilizar estas expresiones.

A continuación se describen las expresiones condicionales compatibles con Simple Log Service.

Importante

Si desea usar cadenas en instrucciones analíticas, debe encerrarlas entre comillas simples (''). Las cadenas sin comillas o las encerradas entre comillas dobles ("") indican nombres de campo o de columna. Por ejemplo, 'status' indica la cadena status, mientras que status o "status" indica el campo de registro status.

Expresión

Sintaxis

Descripción

Compatible con SQL

Compatible con SPL

CASE WHEN expression

CASE WHEN condition1 THEN result1

[WHEN condition2 THEN result2]

[ELSE result3]

END

Clasifica datos según condiciones especificadas.

√

√

IF expression

IF(condition, result1)

Si condition se evalúa como verdadera, se devuelve result1. De lo contrario, se devuelve null.

√

√

IF(condition, result1, result2)

Si condition se evalúa como verdadera, se devuelve result1. De lo contrario, se devuelve result2.

√

√

COALESCE expression

COALESCE(expression1, expression2, expression3...)

Devuelve el primer valor no nulo de varias expresiones.

√

√

NULLIF expression

NULLIF(expression1, expression2)

Evalúa si los valores de dos expresiones son iguales. Si son iguales, se devuelve null. De lo contrario, se devuelve el valor de la primera expresión.

√

×

TRY expression

TRY(expression)

Captura errores que ocurren durante la invocación de una expresión y garantiza que Simple Log Service pueda continuar consultando y analizando datos incluso si surgen errores.

√

√

Expresión CASE WHEN

La expresión CASE WHEN clasifica datos.

Syntax

CASE WHEN condition1 THEN result1
     [WHEN condition2 THEN result2]
     [ELSE result3]
END

Parameters

Parámetro

Descripción

condition

El valor de este parámetro es una expresión condicional.

result1

El resultado que se devuelve.

Examples

  • Ejemplo 1: Extraiga información del navegador del valor del campo http_user_agent. Luego, clasifique la información en los tipos Chrome, Safari y desconocido, y calcule el número de vistas de página (PV) para los tres tipos.

    • Instrucción de consulta

      * |
      SELECT
        CASE
          WHEN http_user_agent like '%Chrome%' then 'Chrome'
          WHEN http_user_agent like '%Safari%' then 'Safari'
          ELSE 'unknown'
        END AS http_user_agent,
        count(*) AS pv
      GROUP BY
        http_user_agent
    • Los resultados de la consulta y el análisis muestran las vistas de página (PV) para cada navegador (http_user_agent): Chrome (5563), Safari (1842) y desconocido (1666).

  • Ejemplo 2: Consulte la distribución de solicitudes enviadas en diferentes momentos.

    • Instrucción de consulta

      * |
      SELECT
        CASE
          WHEN request_time < 10 then 't10'
          WHEN request_time < 100 then 't100'
          WHEN request_time < 1000 then 't1000'
          WHEN request_time < 10000 then 't10000'
          ELSE 'large'
        END AS request_time,
        count(*) AS pv
      GROUP BY
        request_time
    • Los resultados de la consulta y el análisis devuelven dos registros: el PV es 1563542 cuando request_time es t100, y 533 cuando request_time es large.

Expresión IF

La expresión IF clasifica datos. Esta expresión funciona de manera similar a la expresión CASE WHEN.

Syntax

  • Si condition se evalúa como verdadera, se devuelve result1. De lo contrario, se devuelve null.

    IF(condition, result1)
  • Si condition se evalúa como verdadera, se devuelve result1. De lo contrario, se devuelve result2.

    IF(condition, result1, result2)

Parameters

Parámetro

Descripción

condition

El valor de este parámetro es una expresión condicional.

result

El resultado que se devuelve.

Examples

Calcule la proporción de solicitudes cuyo código de estado es 200 respecto al total de solicitudes.

  • Instrucción de consulta

    * |
    SELECT
      sum(IF(status = 200, 1, 0)) * 1.0 / count(*) AS status_200_percentag
  • Resultados de la consulta y el análisis: El valor de status_200_percentage es 0.884686775009848.

Expresión COALESCE

La expresión COALESCE devuelve el primer valor no nulo de varias expresiones.

Syntax

COALESCE(expression1, expression2, expression3...)

Parameters

Parámetro

Descripción

expression

El valor de este parámetro es una expresión de tipo arbitrario.

Examples

Calcule la relación entre los gastos del día anterior y los gastos del mismo día del mes anterior.

  • Instrucción de consulta

    * |
    SELECT
      compare("yesterday's expenses", 604800) AS diff
    FROM  (
        SELECT
          COALESCE(sum(PretaxAmount), 0) AS "yesterday's expenses"
        FROM log
      )
  • Resultados de la consulta y el análisis

    • El valor 6514393413.0 indica los gastos del día anterior.

    • El valor 19578267596.0 indica los gastos del mismo día del mes anterior.

    • El valor 0.33273594719539659 indica la relación entre los gastos del día anterior y los gastos del mismo día del mes anterior.

Expresión NULLIF

La expresión NULLIF evalúa si los valores de dos expresiones son iguales. Si son iguales, se devuelve null. De lo contrario, se devuelve el valor de la primera expresión.

Syntax

NULLIF(expression1, expression2)

Parameters

Parámetro

Descripción

expression

El valor de este parámetro es una expresión escalar válida.

Examples

Evalúe si los valores de los campos client_ip y host son iguales. Si los valores son diferentes, se devuelve el valor del campo client_ip.

  • Instrucción de consulta

    * | SELECT NULLIF(client_ip,host)
  • Resultados de la consulta y el análisis: La consulta devuelve una sola columna _col0, que muestra el resultado de NULLIF(client_ip,host). Esta función devuelve el valor de client_ip si client_ip es diferente de host, y devuelve NULL si son iguales.

Expresión TRY

La expresión TRY captura errores que ocurren durante la invocación de una expresión y garantiza que Simple Log Service pueda continuar consultando y analizando datos incluso si surgen errores.

Syntax

TRY(expression)

Parameters

Parámetro

Descripción

expression

El valor de este parámetro es una expresión de tipo arbitrario.

Examples

Si ocurre un error al invocar la expresión regexp_extract, la expresión TRY captura el error y Simple Log Service continúa consultando y analizando datos. Se devuelven los resultados de la consulta y el análisis.

  • Instrucción de consulta

    * |
    SELECT
      TRY(regexp_extract(request_uri, '.*\/(file.*)', 1)) AS file,
      count(*) AS count
    GROUP BY
      file
  • Los resultados de la consulta y el análisis muestran un recuento para cada nombre de archivo extraído. Por ejemplo: file-5 (851), file-7 (928), file-3 (837) y file-4 (863).