es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Recortar valores de columna mientras se selecciona con InfluxQL en el panel de Grafana.

Tengo una tabla como la siguiente. Los valores de Col1 tienen paréntesis, como val1(12). Pero cuando escribo una consulta InfluxQL, quiero eliminar los paréntesis y solo obtener el texto restante. Cuando se ejecuta la consulta InfluxQL en la salida, Val1(12) será Val1.

mytable:

Col1 Col2 Col3 Col4
val1(12) 332 0 1
val2(4234) 222 0 1
val3(221) 111 0 1

Si escribo “select * from mytable”, obtendré lo siguiente:

Col1 Col2 Col3 Col4
val1(12) 332 0 1
val2(4234) 222 0 1
val3(221) 111 0 1

Pero quiero que los paréntesis se eliminen después de ejecutar la consulta SQL, como se muestra a continuación:

Col1 Col2 Col3 Col4
val1 332 0 1
val2 222 0 1
val3 111 0 1

No pude encontrar una solución para esto. ¿Debo usar “trim”, “wildcard” o “regex” para hacer esto? La versión de la shell de InfluxDB es 1.7.6.
Ejecutaremos esta consulta InfluxQL en un panel de Grafana.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar los paréntesis en los valores de la Col1, puede usar la función de expresión regular (regex) en InfluxQL. Aquí hay un ejemplo de consulta:

    SELECT REGEX_REPLACE(Col1, '\([0-9]+\)', '') AS Col1_No_Parentheses, Col2, Col3, Col4
    FROM mytable
    

    Esta consulta utiliza la función REGEX_REPLACE y una expresión regular para buscar cualquier paréntesis seguido de uno o más dígitos. La función reemplaza la cadena coincidente con una cadena vacía, eliminándola efectivamente del valor de Col1. El resultado de esta consulta será:

    Col1_No_Parentheses Col2 Col3 Col4
    val1 332 0 1
    val2 222 0 1
    val3 111 0 1

    Puede reemplazar el valor original de Col1 con el valor de Col1_No_Parentheses en su panel o visualización de Grafana seleccionando el campo Col1_No_Parentheses.

Comments are closed.