Este tema explica la sintaxis básica y proporciona ejemplos de las funciones de cadenas.
Log Service admite las siguientes funciones de cadenas.
Si desea utilizar cadenas en instrucciones analíticas, debe encerrarlas entre comillas simples (''). Las cadenas que no están encerradas o que se encuentran entre comillas dobles ("") indican nombres de campos o columnas. Por ejemplo,
'status'
indica la cadena status, mientras que
status
o
"status"
indican el campo de registro status.
Función | Sintaxis | Descripción | SQL | SPL |
chr(x) | Convierte un código ASCII en un carácter. | √ | √ | |
codepoint(x) | Convierte un carácter en un código ASCII. | √ | √ | |
concat(x, y...) | Concatena varias cadenas. | √ | √ | |
from_utf8(x) | Decodifica una cadena binaria como texto UTF-8 y reemplaza cualquier carácter no válido con el carácter de reemplazo predeterminado (U+FFFD). | √ | √ | |
from_utf8(x, replace_string) | Decodifica una cadena binaria como texto UTF-8 y reemplaza cualquier carácter no válido con una cadena personalizada. | √ | √ | |
length(x) | Devuelve la longitud de una cadena. | √ | √ | |
levenshtein_distance(x, y) | Calcula la distancia de edición mínima entre x y y. | √ | × | |
lower(x) | Convierte una cadena a minúsculas. | √ | √ | |
lpad(x, length, lpad_string) | Rellena el inicio de una cadena con una cadena especificada hasta alcanzar una longitud determinada. | √ | √ | |
ltrim(x) | Elimina los espacios en blanco iniciales de una cadena. | √ | √ | |
normalize(x) | Normaliza una cadena a la forma NFC. | √ | × | |
position(sub_string in x) | Devuelve la posición inicial de la primera aparición de una subcadena dentro de otra cadena. | √ | × | |
replace(x, sub_string ) | Elimina todas las apariciones de una subcadena especificada dentro de una cadena. | √ | √ | |
replace(x, sub_string, replace_string) | Reemplaza todas las apariciones de una subcadena especificada con una cadena de reemplazo. | √ | √ | |
reverse(x) | Invierte una cadena. | √ | √ | |
rpad(x, length, rpad_string) | Rellena el final de una cadena con una cadena especificada hasta alcanzar una longitud determinada. | √ | √ | |
rtrim(x) | Elimina los espacios en blanco finales de una cadena. | √ | √ | |
split(x, delimiter) | Divide una cadena mediante un delimitador y devuelve una matriz de subcadenas. | √ | √ | |
split(x, delimiter, limit) | Divide una cadena mediante un separador especificado, utiliza el parámetro limit para restringir el número de divisiones y devuelve una matriz con las subcadenas resultantes. | √ | √ | |
split_part(x, delimiter, part) | Divide una cadena mediante un delimitador y devuelve la subcadena en una posición especificada. | √ | √ | |
split_to_map(x, delimiter01, delimiter02) | Divide una cadena en un mapa de pares clave-valor mediante dos delimitadores. | √ | √ | |
strpos(x, sub_string) | Esta función es un alias de position(sub_string in x). | √ | √ | |
substr(x, start) | Extrae una subcadena de una cadena a partir de una posición especificada. | √ | √ | |
substr(x, start, length) | Extrae una subcadena de una longitud especificada de una cadena a partir de una posición determinada. | √ | √ | |
to_utf8(x) | Codifica una cadena en una cadena binaria UTF-8. | √ | √ | |
trim(x) | Elimina los espacios en blanco iniciales y finales de una cadena. | √ | √ | |
upper(x) | Convierte una cadena a mayúsculas. | √ | √ | |
csv_extract_map(x, delimiter, quote, keys) | Extrae valores especificados de una línea de texto CSV y los coloca en un mapa. | √ | × | |
ilike(x, pattern) | Comprueba si una cadena coincide con un patrón sin distinguir entre mayúsculas y minúsculas. | √ | √ | |
str_uuid() | Genera un UUID aleatorio de 128 bits y lo devuelve como cadena. | × | √ | |
gzip_compress(data, compression_level) | Comprime una cadena en un flujo binario mediante el algoritmo GZIP. | × | √ | |
gzip_decompress(binary_data) | Descomprime un flujo binario comprimido con GZIP y devuelve la cadena original. | × | √ | |
search(search_expression) | Realiza una búsqueda de texto completo en datos de registro dentro de una instrucción analítica SQL. Admite operaciones booleanas, búsquedas específicas por campo, consultas difusas y consultas por rango. | √ | × |
Función chr
La función chr convierte un código ASCII en un carácter.
Sintaxis
chr(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
El código ASCII. |
Tipo de valor devuelto
varchar.
Ejemplo
Determina si la primera letra del valor del campo region es 'c', donde 99 es el código ASCII de la letra minúscula 'c'.
-
Campo de muestra
region:cn-shanghai -
Instrucción de consulta y análisis (Prueba)
* | SELECT substr(region, 1, 1) = chr(99) Resultados de la consulta y el análisis: El valor devuelto para la columna
_col0estrue, lo cual indica que el primer carácter del camporegioncoincide conchr(99)(el carácterc).
Función codepoint
La función codepoint convierte un carácter en un código ASCII.
Sintaxis
codepoint(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
El carácter que se va a convertir, el cual debe ser de tipo |
Tipo de valor devuelto
integer.
Ejemplo
Determina si la primera letra del valor del campo region es 'c', donde 99 es el código ASCII de la letra minúscula 'c'.
-
Campo de muestra
upstream_status:200 -
Instrucción de consulta (prueba)
* | SELECT codepoint(cast (substr(region, 1, 1) AS char(1))) = 99 Resultados de la consulta y el análisis: La columna
_col0devuelve dos filas de datos, y el valor para ambas filas estrue.
Función concat
Concatena varias cadenas en una sola.
Sintaxis
concat(x, y...)
Parámetros
|
Parámetro |
Descripción |
|
x |
El valor debe ser de tipo varchar. |
|
y |
El valor debe ser de tipo varchar. |
Tipo de valor devuelto
El valor devuelto es de tipo varchar.
Ejemplo
Concatene los valores de los campos region y request_method en una sola cadena.
-
Campos de muestra
region:cn-shanghai time:14/Jul/2021:02:19:40 -
Instrucción de consulta y análisis (Prueba)
* | SELECT concat(region, '-', time) En los resultados de la consulta y el análisis, la columna
_col0devuelve una cadena concatenada, comocn-shanghai-14/Jul/2021:01:16:30.
Función from_utf8
Decodifica una cadena binaria al formato de codificación UTF-8.
Sintaxis
-
Reemplaza los caracteres UTF-8 no válidos con el carácter de reemplazo predeterminado, U+FFFD.
from_utf8(x) -
Reemplaza los caracteres UTF-8 no válidos con un carácter especificado.
from_utf8(x,replace_string)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena binaria que se va a decodificar. |
|
replace_string |
Un carácter único opcional o espacio utilizado para reemplazar caracteres UTF-8 no válidos. |
Tipo de valor devuelto
varchar
Ejemplos
-
Decodifica la cadena binaria 0x80 y reemplaza los caracteres UTF-8 no válidos con el carácter de reemplazo predeterminado (U+FFFD).
-
Instrucción de consulta y análisis (Depuración)
* | SELECT from_utf8(from_base64('0x80')) Resultados de la consulta y el análisis: La consulta devuelve una sola columna
_col0. El valor es una cadena que contiene el carácter de reemplazo (U+FFFD), lo que significa que los bytes UTF-8 no válidos han sido sustituidos por el carácter de reemplazo predeterminado.
-
-
Decodifica la cadena binaria 0x80 y reemplaza los caracteres UTF-8 no válidos con '0'.
-
Instrucción de consulta y análisis (Depuración)
* | SELECT from_utf8(from_base64('0x80'), '0') Los resultados de la consulta y el análisis devuelven una sola columna llamada
_col0con el valor0□4. El cuadro representa un byte que no se puede mostrar correctamente, lo cual corresponde a la salida de la funciónfrom_utf8tras reemplazar un byte UTF-8 no válido.
-
Función length
Devuelve la longitud de una cadena.
Sintaxis
length(x)
Parámetros
|
Parámetro |
|
|
x |
Un valor de tipo varchar. |
Valor devuelto
bigint
Ejemplo
Calcule la longitud del valor del campo http_user_agent.
-
Campo de muestra
http_user_agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2 -
Instrucción de consulta (Prueba)
* | SELECT length(http_user_agent) El resultado de la consulta y el análisis es
127, que representa la longitud de la cadena del valor para el campohttp_user_agent.
Función levenshtein_distance
Calcula la distancia de edición mínima entre dos cadenas.
Sintaxis
levenshtein_distance(x, y)
Parámetros
|
Parámetro |
Descripción |
|
x |
Un valor de tipo varchar. |
|
y |
Un valor de tipo varchar. |
Valor devuelto
bigint.
Ejemplo
Consulte la distancia de edición mínima entre los valores de los campos instance_id y owner_id.
-
Campos de muestra
instance_id:i-01 owner_id:owner-01 -
Instrucción de consulta y análisis (depuración)
* | SELECT levenshtein_distance(owner_id, instance_id) El resultado de la consulta y el análisis es
5.
Función lower
Convierte una cadena a minúsculas.
Sintaxis
lower(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una cadena de tipo varchar. |
Tipo de valor devuelto
varchar
Ejemplo
Convierta el valor del campo request_method a minúsculas.
-
Campo de muestra
request_method:GET -
Instrucción de consulta y análisis (Depuración)
* | SELECT lower(request_method) Los resultados de la consulta y el análisis son
get.
Función lpad
La función lpad rellena una cadena por la izquierda con caracteres especificados hasta alcanzar una longitud determinada.
Sintaxis
lpad(x, length, lpad_string)
Parámetros
Parámetro | Descripción |
x | El valor debe ser de tipo varchar. |
length | Un entero que especifica la longitud deseada de la cadena resultante.
|
lpad_string | El carácter o cadena que se utilizará para el relleno. |
Tipo de valor devuelto
varchar
Ejemplo
Rellene el valor del campo instance_id con ceros a la izquierda hasta alcanzar una longitud de 10 dígitos.
-
Campo de muestra
instance_id:i-01 -
Instrucción de consulta (Prueba)
* | SELECT lpad(instance_id, 10, '0') En los resultados de la consulta y el análisis, el valor devuelto de la columna
_col0es000000i-01.
Función ltrim
Elimina los espacios iniciales de una cadena.
Sintaxis
ltrim(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de entrada. Debe ser de tipo varchar. |
Tipo de valor devuelto
varchar
Ejemplo
Elimine los espacios iniciales del valor del campo region.
-
Campo de muestra
region: cn-shanghai -
Instrucción de consulta y análisis (Prueba)
* | SELECT ltrim(region) El resultado es
cn-shanghai.
Función normalize
Normaliza una cadena mediante el formato Normalization Form C (NFC).
Sintaxis
normalize(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena varchar que se va a normalizar. |
Tipo de valor devuelto
varchar.
Ejemplo
Este ejemplo normaliza la cadena schön con el formato NFC.
-
Instrucción de consulta (debug)
* | SELECT normalize('schön') Los resultados de la consulta y el análisis devuelven una fila y una columna; el nombre de la columna es
_col0y el valor esschön.
Función position
Devuelve la posición inicial de una subcadena dentro de una cadena.
Sintaxis
position(sub_string in x)
Parámetros
|
Parámetro |
Descripción |
|
sub_string |
La subcadena que se va a buscar. |
|
x |
La cadena en la que se realiza la búsqueda; debe ser de tipo varchar. |
Tipo de valor devuelto
Devuelve un entero que representa la posición inicial (con índice base 1) de la subcadena. Si no se encuentra la subcadena, la función devuelve 0.
Ejemplo
Encuentre la posición de la subcadena cn en el campo region.
-
Campo de ejemplo
region:cn-shanghai -
Instrucción de consulta y análisis (Test)
* | SELECT position('cn' in region) Resultados de la consulta y el análisis: la columna
_col0devuelve1, lo cual indica que la subcadenacncomienza en la posición 1 de la cadenacn-shanghai.
Función replace
La función replace elimina o reemplaza todas las apariciones de una subcadena especificada dentro de una cadena.
Sintaxis
-
Elimina todas las apariciones de una subcadena en una cadena.
replace(x, sub_string) -
Reemplaza todas las apariciones de una subcadena por otra cadena.
replace(x, sub_string, replace_string)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de origen. El tipo de datos debe ser varchar. |
|
sub_string |
La subcadena que se va a eliminar o reemplazar. |
|
replace_string |
La cadena de reemplazo. |
Tipo de valor devuelto
varchar
Ejemplos
-
Ejemplo 1: En el valor del campo
region, reemplacecnporChina.-
Campo de ejemplo
region:cn-shanghai -
Instrucción de consulta y análisis (Debug)
* | select replace(region, 'cn', '中国') En los resultados de la consulta y el análisis, el valor de la columna
_col0esChina-shanghai.
-
-
Ejemplo 2: Elimine
cn-del valor del camporegion.-
Campo de ejemplo
region:cn-shanghai -
Instrucción de consulta y análisis (Debug)
* | select replace(region, 'cn-') El resultado de la consulta y el análisis es
shanghai.
-
Función reverse
La función reverse devuelve una cadena con sus caracteres en orden inverso.
Sintaxis
reverse(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de entrada, que debe ser de tipo varchar. |
Tipo de valor devuelto
varchar
Ejemplo
Invierta el valor del campo request_method.
-
Campo de ejemplo
request_method:GET -
Instrucción de consulta (Test)
* | SELECT reverse(request_method) El resultado es
TEG.
Función rpad
Rellena una cadena por la derecha con los caracteres especificados hasta alcanzar la longitud indicada.
Sintaxis
rpad(x, length, rpad_string)
Parámetros
Parámetro | Descripción |
x | La cadena de origen, que debe ser de tipo varchar. |
length | La longitud deseada para la cadena resultante, especificada como un entero.
|
rpad_string | El carácter o la cadena que se usa para el relleno. |
Tipo de valor devuelto
varchar.
Ejemplo
A continuación se muestra un ejemplo donde se rellena el valor del campo instance_id con ceros al final hasta alcanzar una longitud de 10.
-
Campo de ejemplo
instance_id:i-01 -
Instrucción de consulta (debug)
* | SELECT rpad(instance_id, 10, '0') Resultados de la consulta y el análisis: la columna
_col0devuelve el valori-01000000.
Función rtrim
Elimina los espacios finales de una cadena.
Sintaxis
rtrim(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de origen, que debe ser de tipo varchar. |
Tipo de valor devuelto
varchar
Ejemplo
Esta consulta elimina los espacios finales del valor del campo instance_id.
-
Campo de ejemplo
instance_id:i-01 -
Instrucción de consulta (debug)
* | SELECT rtrim(instance_id) Resultados de la consulta y el análisis: el valor devuelto en la columna
_col0esi-01.
Función split
La función split divide una cadena en un arreglo de subcadenas mediante un separador.
Sintaxis
-
Divide una cadena según un separador.
split(x, delimiter) -
Divide una cadena según un separador en un número máximo de subcadenas.
split(x,delimiter,limit)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena varchar que se va a dividir. |
|
delimiter |
El delimitador utilizado para dividir la cadena. |
|
limit |
El número máximo de subcadenas que se van a devolver. El valor debe ser un entero positivo. |
Tipo de valor devuelto
array
Ejemplos
-
Ejemplo 1: Divide el valor del campo
request_urien cuatro subcadenas mediante una barra diagonal (/) y devuelve un arreglo con dichas subcadenas.-
Campo de ejemplo
request_uri:/request/path-1/file-9 -
Instrucción de consulta y análisis (Test)
* | SELECT split(request_uri, '/') Resultados de la consulta y el análisis: la consulta devuelve
["" ,"request","path-1","file-9"], que es el arreglo generado al dividirrequest_uripor/.
-
-
Ejemplo 2: Utilice una barra diagonal (/) para dividir el valor del campo
request_urien 3 subcadenas y devuelva la colección de subcadenas resultante.-
Campo de ejemplo
request_uri:/request/path-1/file-9 -
Instrucción de consulta y análisis (Test)
* | SELECT split(request_uri, '/', 3) En los resultados de la consulta y el análisis, el valor de la columna _col0 es
["","request","path-1/file-9"].
-
Función split_part
Divide una cadena según un separador especificado y devuelve la subcadena ubicada en el índice indicado.
Sintaxis
split_part(x, delimiter, part)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena que se va a dividir. Este valor debe ser de tipo varchar. |
|
delimiter |
Una cadena no vacía que se utiliza como separador. |
|
part |
Una expresión entera que especifica el índice (base 1) de la subcadena que se va a devolver. El valor debe ser mayor que 0. |
Valor devuelto
varchar
Ejemplo
Divida el valor del campo request_uri mediante un signo de interrogación (?) y devuelva la primera subcadena, correspondiente a la ruta del archivo. A continuación, cuente el número de solicitudes para cada ruta.
-
Campos de ejemplo
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 -
Instrucción de consulta (Test)
* | SELECT count(*) AS PV, split_part(request_uri, '?', 1) AS Path GROUP BY Path ORDER BY pv DESC Resultados de la consulta y el análisis:
/request/path-2/file-6tiene un PV de 49,/request/path-2/file-0tiene un PV de 47 y/request/path-3/file-2tiene un PV de 44.
Función split_to_map
La función split_to_map analiza una cadena de pares clave-valor y genera un mapa mediante dos delimitadores.
Sintaxis
split_to_map(x, delimiter01, delimiter02)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de entrada que se va a analizar; debe ser de tipo varchar. |
|
delimiter01 |
El delimitador que separa los pares clave-valor. |
|
delimiter02 |
El delimitador que separa la clave del valor en cada par. |
Tipo de valor devuelto
map
Ejemplo
Utilice una coma (,) y dos puntos (:) para dividir el valor del campo time y devolver un MAP.
-
Campo de ejemplo
upstream_response_time:"80",request_time:"40" -
Instrucción de consulta y análisis
* | SELECT split_to_map(time, ',', ':') La función devuelve un mapa, que se muestra en los resultados de la consulta y el análisis en formato JSON:
{"request_time":"\"40\"","upstream_response_time":"\"80\""}.
Función strpos
La función strpos devuelve la posición inicial de una subcadena dentro de una cadena. Es un alias de la función position.
Sintaxis
strpos(x, sub_string)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de origen donde se realizará la búsqueda. Debe ser de tipo varchar. |
|
sub_string |
La subcadena que se va a buscar. |
Tipo de valor devuelto
Devuelve un entero que representa la posición inicial (con índice base 1) de la subcadena. Devuelve 0 si no se encuentra la subcadena.
Ejemplo
Este ejemplo busca la posición del carácter 'H' en el campo server_protocol.
-
Instrucción de consulta (Test)
* | SELECT strpos(server_protocol, 'H') Resultados de la consulta y el análisis: la columna
_col0devuelve dos filas de datos, ambas con el valor1, lo cual indica que la posición de la primera aparición del carácter H en el camposerver_protocoles 1.
Función substr
La función substr extrae una subcadena de una cadena a partir de una posición específica.
Sintaxis
-
Extrae una subcadena desde una posición de inicio especificada hasta el final de la cadena.
substr(x, start) -
Extrae una subcadena de longitud determinada a partir de una posición específica.
substr(x,start,length)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de origen. Debe ser de tipo |
|
start |
La posición inicial (base 1) para la extracción. |
|
length |
Un entero opcional que especifica el número de caracteres por extraer. Si se omite este parámetro, la función extrae todos los caracteres desde la posición |
Tipo de valor devuelto
varchar.
Ejemplo
Extraiga los primeros 4 caracteres del valor del campo server_protocol (la parte HTTP) y cuente el número de solicitudes HTTP.
-
Campo de ejemplo
server_protocol:HTTP/2.0 -
Instrucción de consulta (Test)
* | SELECT substr(server_protocol, 1, 4) AS protocol, count(*) AS count GROUP BY protocol En los resultados de la consulta y el análisis, el valor de la columna
protocolesHTTPy el valor de la columnacountes9078.
Función to_utf8
Codifica una cadena a su representación binaria en UTF-8.
Sintaxis
to_utf8(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena que se va a codificar. Debe ser de tipo varchar. |
Tipo de valor devuelto
varbinary
Ejemplo
Codifique la cadena 'log' al formato UTF-8.
-
Instrucción de consulta (Test)
* | SELECT to_utf8('log') En los resultados de la consulta y el análisis, el valor devuelto en la columna
_col0esbG9n.
Función trim
Elimina los espacios iniciales y finales de una cadena.
Sintaxis
trim(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena de entrada, que debe ser de tipo varchar. |
Tipo de valor devuelto
varchar
Ejemplo
Elimine los espacios iniciales y finales del valor del campo instance_id.
-
Campo de ejemplo
instance_id: i-01 -
Instrucción de consulta y análisis (Test)
* | SELECT trim(instance_id) Resultados de la consulta y el análisis: i-01
Función upper
Convierte una cadena a mayúsculas.
Sintaxis
upper(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
El valor debe ser de tipo varchar. |
Tipo de valor devuelto
varchar
Ejemplo
Este ejemplo convierte el valor del campo region a mayúsculas.
-
Campo de ejemplo
region:cn-shanghai -
Instrucción de consulta (Test)
* | SELECT upper(region) El resultado de la consulta y el análisis es
CN-SHANGHAI.
Función csv_extract_map
La función csv_extract_map analiza una cadena CSV de una sola línea y devuelve un mapa.
Sintaxis
csv_extract_map(x, delimiter, quote, keys)
Parámetros
|
Parámetro |
Descripción |
|
x |
La cadena |
|
delimiter |
Un único carácter |
|
quote |
El carácter |
|
keys |
Un arreglo de cadenas que define los nombres de las claves para los valores extraídos. El número de claves debe coincidir con el número de valores en la cadena CSV. Si no coinciden, la función devuelve null. |
Tipo de valor devuelto
map(varchar, varchar)
Ejemplo
Este ejemplo extrae información CSV del campo content.
-
Campo de ejemplo
content: '192.168.0.100,"10/Jun/2019:11:32:16,127 +0800",example.aliyundoc.com' -
Instrucción de consulta
select csv_extract_map(content, ',', '"', array['ip', 'time', 'host']) as item -
Datos de salida
La consulta devuelve el siguiente registro JSON:
{"ip":"192.168.0.100","host":"example.aliyundoc.com","time":"10/Jun/2019:11:32:16,127 +0800"}.
Función ilike
Comprueba si una cadena coincide con un patrón especificado, sin distinguir entre mayúsculas y minúsculas.
Sintaxis
ilike(x, pattern)
Parámetros
Parámetro | Descripción |
x | La cadena que se va a evaluar. Debe ser de tipo varchar. |
pattern | El patrón de caracteres. El patrón puede incluir los siguientes caracteres comodín:
|
Tipo de valor devuelto
boolean
Ejemplo
Este ejemplo comprueba si el valor de request_uri termina con file-6.
Campo de ejemplo
request_uri: '/request/path-2/File-6'
Instrucción de consulta
select ilike(request_uri, '%file-6')
Resultados de la consulta y el análisis
El resultado de la consulta y el análisis es true, lo que indica que request_uri termina con file-6.
str_uuid
La función str_uuid() devuelve un identificador aleatorio de 128 bits como cadena.
Sintaxis
str_uuid()
Valor devuelto
Tipo de valor devuelto:
VARCHARFormato: Una cadena de 36 caracteres con 32 dígitos hexadecimales y 4 guiones
-.Estructura:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Ejemplo
Para generar un lote grande de identificadores únicos en un entorno de prueba simulado:
* | extend uuid = str_uuid()
Función gzip_compress
La función gzip_compress comprime una cadena mediante el algoritmo GZIP y devuelve los datos binarios comprimidos.
Sintaxis
-- Method 1: Default compression level (6)
gzip_compress(data)
-- Method 2: Specify compression level
gzip_compress(data, compression_level)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
data |
VARCHAR |
La cadena que se va a comprimir. |
|
compression_level |
BIGINT |
Nivel de compresión, un entero opcional de 1 a 9. |
Valor devuelto
Tipo de valor devuelto:
VARBINARYDescripción: Los datos binarios comprimidos.
Ejemplos
-
Ejemplo 1: Compresión básica
* | extend compress_data = gzip_compress('Hello World') -
Ejemplo 2: Lograr la compresión máxima para textos grandes
Para maximizar la compresión de un registro extenso (decenas de miles de caracteres) y ahorrar espacio de almacenamiento, utilice el nivel
9:* | extend compress_data = gzip_compress('Hello World',9)
gzip_decompress
gzip_decompress descomprime datos binarios comprimidos con GZIP (Varbinary) y devuelve el contenido original en texto plano.
Sintaxis
gzip_decompress(binary_data)
Parámetros
binary_data deben ser datos válidos comprimidos con GZIP, generados normalmente por la función gzip_compress. Si la entrada no está en el formato GZIP estándar, la función devuelve NULL.
Valor devuelto
Tipo de valor devuelto:
VARCHARDescripción: El contenido original en texto plano tras la descompresión.
Ejemplo
-
Canalización simple de compresión y descompresión:
* | extend original_content = gzip_decompress(gzip_compress('Hello SLS!')) -- Output: "Hello SLS!"
Función de búsqueda
La función search realiza una búsqueda de texto completo en los datos de registro dentro de una instrucción analítica SQL. Al ser una función SQL estándar, admite condiciones de consulta complejas, incluidas operaciones booleanas, consultas de campos, consultas difusas y consultas por rango.
Limitaciones
|
Limitación |
Descripción |
|
Límite por subconsulta |
Solo se permite usar una función |
|
Límite del operador OR |
La función |
|
Se requiere un índice created y no debe estar en modo de escaneo. |
La función de búsqueda no es compatible con el modo de escaneo. |
|
Conflicto de sintaxis de consulta |
No es posible usar la función de búsqueda si la entrada de sintaxis de consulta contiene condiciones de filtro reales. Esta función solo se admite cuando la entrada de sintaxis de consulta está vacía o es |
|
Tipo de parámetro |
El parámetro de la función |
|
Número de parámetros |
La función debe recibir exactamente un parámetro. |
Sintaxis
search(search_expression)
Uso en una instrucción analítica SQL:
* | SELECT ... FROM log WHERE search('search_expression')
Importante: La función de búsqueda solo se puede utilizar en la cláusula WHERE.
Parámetros
|
Parámetro |
Descripción |
|
search_expression |
|
Tipo de valor devuelto
Tipo BOOLEAN. true indica que la fila actual coincide con la condición de consulta, mientras que false señala que no hay coincidencia.
Ejemplos
-
Ejemplo 1: Buscar registros que contengan tanto
errorcomotimeout.* | SELECT * FROM log WHERE search('error AND timeout') -
Ejemplo 2: Buscar registros donde el campo
statussea200.* | SELECT * FROM log WHERE search('status: 200') -
Ejemplo 3: Combinar la función
search()con un predicado SQL para encontrar registros dondestatussea200yrequest_timesea mayor que100.* | SELECT * FROM log WHERE search('status: 200') AND request_time > 100Para obtener más información, consulte Use the search function to perform a full-text search.