Referencia de variables de sistema
BigQuery admite las siguientes variables de sistema para consultas de varias declaraciones o dentro de sesiones. Puedes usar variables de sistema para configurar o recuperar información durante la ejecución de la consulta, de manera similar a las variables de lenguaje de procedimiento definidas por el usuario.
Nombre | Tipo | Lectura y escritura o solo lectura | Descripción |
---|---|---|---|
@@current_job_id |
STRING |
Solo lectura | ID de tarea del trabajo que se está ejecutando actualmente. En el contexto de una consulta de varias instrucciones, esto muestra el trabajo responsable de la instrucción actual, no toda la consulta de varias instrucciones. |
@@dataset_id |
STRING |
Escritura y lectura |
ID del conjunto de datos predeterminado en el proyecto actual. Este ID se usa cuando no se especifica un conjunto de datos para un proyecto en la consulta. Puedes usar la declaración SET para asignar @@dataset_id a otro ID de conjunto de datos en el proyecto actual. Las variables del sistema @@dataset_project_id y @@dataset_id se pueden configurar y usar juntas.
|
@@dataset_project_id |
STRING |
Escritura y lectura |
ID del proyecto predeterminado que se usa cuando no se especifica uno para un conjunto de datos usado en la consulta. Si @@dataset_project_id no está configurado o si se configura como NULL , se usa el proyecto que ejecuta la consulta (@@project_id ). Puedes usar la declaración SET para asignar @@dataset_project_id a otro ID de proyecto. Las variables del sistema @@dataset_project_id y @@dataset_id se pueden configurar y usar juntas.
|
@@last_job_id |
STRING |
Solo lectura |
ID del trabajo más reciente que se ejecuta en la consulta actual de varias instrucciones, sin incluir el actual. Si la consulta de varias instrucciones contiene instrucciones CALL , este trabajo puede haberse originado en un procedimiento diferente.
|
@@project_id |
STRING |
Solo lectura |
ID del proyecto que se usó para ejecutar la consulta actual. En el contexto de un procedimiento, @@project_id se refiere al proyecto que ejecuta la consulta de varias instrucciones, no al proyecto que posee el procedimiento.
|
@@query_label |
STRING |
Escritura y lectura |
Etiqueta de consulta que se asociará a los trabajos de consulta en la sesión o consulta actual de varias instrucciones. Si se configura en una consulta, todos los trabajos de consulta posteriores en la secuencia de comandos o la sesión tendrán esta etiqueta.
Si no se establece en una consulta, el valor de esta variable de sistema es NULL . Para ver un ejemplo de cómo configurar esta variable de sistema, consulta
Asocia trabajos en una sesión con una etiqueta.
|
@@row_count |
INT64 |
Solo lectura |
Si se usa en una consulta de varias instrucciones y la instrucción anterior es DML, especifica la cantidad de filas modificadas, insertadas o borradas como resultado de esa declaración DML. Si la instrucción anterior es MERGE, @@row_count representa la cantidad total combinada de filas insertadas, quitadas y borradas. Este valor es NULL si no está en una consulta de varias instrucciones.
|
@@script.bytes_billed |
INT64 |
Solo lectura |
Total de bytes facturados hasta el momento en el trabajo de consulta de varias declaraciones que se ejecuta en la actualidad. Este valor es NULL si no está en el trabajo.
|
@@script.bytes_processed |
INT64 |
Solo lectura |
Total de bytes procesados hasta el momento en el trabajo de consulta de varias instrucciones que se ejecuta en la actualidad. Este valor es NULL si no está en el trabajo.
|
@@script.creation_time |
TIMESTAMP |
Solo lectura |
Hora de creación del trabajo de consulta de varias declaraciones que se ejecuta.
Este valor es NULL si no está en el trabajo.
|
@@script.job_id |
STRING |
Solo lectura |
ID de tarea del trabajo de consulta de varias instrucciones que se está ejecutando. Este valor es NULL si no está en el trabajo.
|
@@script.num_child_jobs |
INT64 |
Solo lectura |
Cantidad de trabajos secundarios completados en la actualidad. Este valor es NULL si no está en el trabajo.
|
@@script.slot_ms |
INT64 |
Solo lectura |
Cantidad de milisegundos de ranura que la secuencia de comandos utilizó hasta el momento.
Este valor es NULL si no está en el trabajo.
|
@@session_id |
INT64 |
Solo lectura | ID de la sesión con la que está asociada la consulta actual. |
@@time_zone |
STRING |
Escritura y lectura |
La zona horaria predeterminada que se debe usar en funciones de SQL que dependen de esta cuando no se especifica una zona horaria como argumento.
@@time_zone se puede modificar mediante una declaración SET a cualquier nombre de zona horaria válido.
Al inicio de cada secuencia de comandos, @@time_zone comienza como “UTC”.
|
Para la retrocompatibilidad, de forma predeterminada, se establecen las expresiones utilizadas en una cláusul OPTIONS
o
FOR SYSTEM TIME AS OF
en la zona horaria America/Los_Angeles
, mientras que todas las demás expresiones de fecha y hora se establecen de forma predeterminada en la zona horaria UTC
. Si @@time_zone
se configuró antes en la consulta de varias instrucciones, la zona horaria elegida se aplicará a todas las expresiones de fecha y hora, incluidas las cláusulas OPTIONS
y FOR SYSTEM TIME AS OF
.
Además de las variables del sistema que se muestran arriba, puedes usar las variables del sistema EXCEPTION
durante la ejecución de una consulta de varias instrucciones. Para obtener más información sobre las variables del sistema EXCEPTION
, consulta la instrucción de lenguaje de procedimiento BEGIN...EXCEPTION.
Para ver ejemplos de cómo puedes usar las variables del sistema en consultas de varias declaraciones, consulta Configura una variable.
Para ver ejemplos sobre cómo puedes usar las variables del sistema en las sesiones, consulta Sesión de ejemplo.