El lenguaje de consulta de la API de visualización de Google te permite realizar varias manipulaciones de datos con la consulta a la fuente de datos.
Índice
Introducción
Por lo general, las visualizaciones esperan datos de alguna forma específica. Por ejemplo, un gráfico circular puede esperar datos como dos columnas: una etiqueta de texto y un valor numérico. Es posible que los datos dentro de la fuente de datos no coincidan exactamente con esta estructura. Por ejemplo, la fuente de datos puede tener más de dos columnas o el orden de las columnas puede no coincidir con el orden que espera el gráfico circular.
El lenguaje de consulta proporciona la capacidad de enviar solicitudes de manipulación y de formato de datos a la fuente de datos y garantizar que la estructura de datos que se muestra y el contenido coincidan con la estructura esperada.
La sintaxis del lenguaje de consulta es similar a SQL. Los desarrolladores familiarizados con SQL deben poder aprender y usar con rapidez este lenguaje de consulta. Hay muchos instructivos de SQL disponibles en la Web. Existen algunas diferencias entre este lenguaje de consulta y SQL, que se describen en la sección Sintaxis.
Ten en cuenta que no es necesario que las fuentes de datos implementen el lenguaje de consulta o, de ser así, que implementen todas las funciones del lenguaje. A menos que tengas motivos para creer lo contrario, no dependas de una fuente de datos para implementar todas las funciones de este lenguaje.
Cómo usar el lenguaje de consulta
Puedes adjuntar una string de consulta a una solicitud de fuente de datos de dos maneras: configurando la string de consulta desde el código JavaScript o estableciendo la string de consulta como parámetro en la URL de la fuente de datos. Si tu solicitud no incluye una string de consulta, el comportamiento predeterminado para una fuente de datos es mostrar todas las filas y columnas con su orden y formato de fila o columna predeterminados. Puedes cambiar eso mediante la inclusión de una cadena de consulta en tu solicitud a una fuente de datos.
Cómo configurar la consulta desde JavaScript
Para configurar la string de consulta desde el código JavaScript, llama al método setQuery
de la clase google.visualization.Query
.
var query = new google.visualization.Query(DATA_SOURCE_URL); query.setQuery('select dept, sum(salary) group by dept'); query.send(handleQueryResponse);
Cómo configurar la consulta en la URL de la fuente de datos
La string de consulta se puede agregar a la URL de la fuente de datos con el parámetro tq
.
Configurar la consulta en el parámetro de URL en lugar de hacerlo en JavaScript te permite usar con facilidad las visualizaciones escritas por otros desarrolladores y, aun así, personalizar la consulta.
La cadena de consulta se debe codificar correctamente como un parámetro de URL.
Puedes codificar una URL con la función encodeURIComponent
de JavaScript, o puedes hacerlo con la herramienta de codificación al final de esta sección.
Ejemplo:
Considera la siguiente cadena de consulta para una hoja de cálculo de Google. (Ten en cuenta que los ID de columna en las hojas de cálculo siempre son letras; el texto del encabezado de la columna que se muestra en la hoja de cálculo publicada son etiquetas, no ID. Debes usar el ID, no la etiqueta, en tu string de consulta).
select A, sum(B) group by A
Cuando se codifica, la consulta se convierte en lo siguiente:
select%20A%2C%20sum(B)%20group%20by%20A
Supongamos que esta es la URL de tu hoja de cálculo:
https://docs.google.com/a/google.com/spreadsheets/d/1r8_mfnZAvTFmT02JHi1XgOwn_-sLCR9XgmR8wEQ4uW4
Agrega /gviz/tq?tq=
YOUR_QUERY_STRING a la URL de la hoja de cálculo para obtener tu string de consulta final:
https://docs.google.com/a/google.com/spreadsheets/d/1r8_mfnZAvTFmT02JHi1XgOwn_-sLCR9XgmR8wEQ4uW4/gviz/tq?tq=select%A%2C%20sum(B)%20group%20by%20A
Usa la siguiente herramienta para codificar o decodificar una cadena de consulta:
Nota: Para acceder a los datos privados de la hoja de cálculo, se deben pasar credenciales de autorización explícitas con OAuth. Consulta la sección Hojas de cálculo de Google: Autorización para obtener más información.
Sintaxis de lenguaje
Descripción general
La sintaxis del lenguaje de consulta de la API de visualización de Google está diseñada para ser similar a la sintaxis de SQL. Sin embargo, es un subconjunto de SQL, con algunas características propias que deberás aprender. Si estás familiarizado con SQL, no debería ser demasiado difícil de aprender.
Tablas de datos
En este documento, se usa el término tabla de datos para referirse al conjunto de resultados de una consulta. Una tabla de datos está compuesta por filas y columnas. Cada columna de una tabla de datos tiene las siguientes propiedades:
- Identificador (o ID de columna). Se usa para hacer referencia a columnas dentro de la consulta. Ten en cuenta que nunca debes hacer referencia a una columna por etiqueta en una consulta, solo por identificador. Sugerencia: Intenta no usar ningún ID que incluya espacios. Estos espacios son difíciles de administrar y pueden provocar errores pequeños, pero difíciles de encontrar en tu codificación. Además, los ID que incluyan espacios deben estar entre comillas.
- Etiqueta. Es un objeto
string
que se suele mostrar a los usuarios finales. Por ejemplo, como una leyenda en un gráfico circular o un encabezado de columna en una tabla. - Tipo de datos. Los tipos de datos admitidos son
string
,number
,boolean
,date
,datetime
ytimeofday
. Todos los valores de una columna tendrán un tipo de datos que coincida con el tipo de columna, o un valornull
. Estos tipos son similares, pero no idénticos, a los tipos de JavaScript que se describen en la sección Literals de esta página. - Patrón de formato. La fuente de datos puede definir patrones de formato para algunas o todas sus columnas. Puedes anular este patrón si incluyes una cláusula de formato.
Tabla usada en todos los ejemplos:
En esta sección, todos los ejemplos de consultas hacen referencia a la siguiente tabla. Los encabezados de las columnas son los identificadores de las columnas.
nombrestring |
Departamentostring |
Hora del almuerzotimeofday |
remuneración number |
contratar al díadate |
edadnumber |
es séniorboolean |
longityStartTimedatetime |
---|---|---|---|---|---|---|---|
José | Eng | 12:00:00 | 1000 | 2005-03-19 | 35 | true | 2007-12-02 15:56:00 |
Dave | Eng | 12:00:00 | 500 | 2006-04-19 | 27 | falso | null |
Sally | Eng | 13:00:00 | 600 | 2005-10-10 | 30 | falso | null |
Ben | Ventas | 12:00:00 | 400 | 2002-10-10 | 32 | true | 2005-03-09 12:30:00 |
Dana | Ventas | 12:00:00 | 350 | 2004-09-08 | 25 | falso | null |
Mike | Marketing | 13:00:00 | 800 | 2005-01-10 | 24 | true | 2007-12-30 14:40:00 |
Cláusulas de idioma
La sintaxis del lenguaje de consulta consta de las siguientes cláusulas. Cada cláusula comienza con una o dos palabras clave. Todas las cláusulas son opcionales. Las cláusulas están separadas por espacios. El orden de las cláusulas debe ser el siguiente:
Cláusula | Uso |
---|---|
select |
Selecciona las columnas que se mostrarán y en qué orden. Si se omite, se muestran todas las columnas de la tabla, en su orden predeterminado. |
where |
Muestra solo las filas que coinciden con una condición. Si se omite, se muestran todas las filas. |
group by |
Agrega valores en todas las filas. |
pivot |
Transforma valores distintos de columnas en columnas nuevas. |
order by |
Ordena las filas por valores de columnas. |
limit |
Limita la cantidad de filas que se muestran. |
offset |
Omite un número determinado de primeras filas. |
label |
Configura etiquetas de columna. |
format |
Aplica formato a los valores de ciertas columnas mediante los patrones de formato especificados. |
options |
Establece opciones adicionales. |
from |
La cláusula from se borró del lenguaje. |
Seleccionar
La cláusula select
se usa para especificar las columnas que se mostrarán y su orden.
Si no se especifica esta cláusula o se usa select *
, todas las columnas de la tabla de fuente de datos se muestran en su orden original.
Los identificadores hacen referencia a las columnas (no mediante etiquetas). Por ejemplo, en una hoja de cálculo de Google, los identificadores de columna son una o dos letras de columna de caracteres (A, B, C, ...).
Los elementos de una cláusula select
pueden ser identificadores de columna, o el resultado de funciones de agregación, funciones escalares o operadores.
Ejemplos:
select *
select dept, salary
select max(salary)
En el siguiente ejemplo, las comillas inversas se usan para hacer referencia a los ID de columna que contienen espacios (dirección de correo electrónico) o palabras reservadas (fecha):
select `email address`, name, `date`
Ejecuta la siguiente consulta en la tabla de ejemplo:
select lunchTime, name
Muestra la siguiente respuesta:
Hora del almuerzo | name |
---|---|
12:00:00 | José |
12:00:00 | Dave |
13:00:00 | Sally |
12:00:00 | Ben |
12:00:00 | Dana |
13:00:00 | Mike |
Dónde
La cláusula where
se usa para mostrar solo las filas que coinciden con una condición específica.
Los operadores de comparación simple son <=, <, >, >=, =,
!=, <>
. Ambos operadores != <>
de comparación significan no ser igual. Las strings se comparan por valor lexicográfico. Ten en cuenta que la igualdad se indica mediante =
, no mediante ==
, como en la mayoría de los lenguajes de programación.
La comparación con null
se realiza mediante is null
o is not null
.
Puedes unir varias condiciones con los operadores lógicos and
, or
y not
. Los paréntesis se pueden usar para definir una prioridad explícita.
La cláusula where también admite algunos operadores de comparación de strings más complejos.
Estos operadores toman dos strings como argumentos: cualquier argumento que no sea de string (por ejemplo, fechas o números) se convertirá en strings antes de la comparación. La coincidencia de strings distingue entre mayúsculas y minúsculas (puedes usar funciones escalares upper()
o lower()
para solucionar el problema).
contains
: Una coincidencia de substring. todacontains
part es verdadera si part está en todo. Ejemplo:where name contains 'John'
coincide con 'John', 'John Adams', 'Long John Silver', pero no con 'john adams'.starts with
: Es una coincidencia de prefijo. valuestarts with
prefix es verdadero si prefix está al principio de value. Ejemplos:where dept starts with 'engineering'
coincide con “ingeniero” y “administradores de ingeniería”.where dept starts with 'e'
coincide con “ingeniería”, “eng” y “e”.ends with
: Es una coincidencia de sufijo. valueends with
suffix es verdadero si suffix está al final de value. Ejemplo:where role ends with 'y'
coincide con “cowboy”, “boy” y “y”.matches
: Es una coincidencia de expresión regular (preg) previa. haystackmatches
needle es verdadera si la expresión regular en needle coincide con haystack. Ejemplos:where country matches '.*ia'
coincide con India y Nigeria, pero no con Indiana. Tenga en cuenta que esta no es una búsqueda global, por lo quewhere country matches 'an'
no coincidirá con "Canadá".like
: Es una búsqueda de texto que admite dos comodines: %, que coincide con cero o más caracteres de cualquier tipo, y _ (guion bajo), que coincide con cualquier carácter. Esto es similar al operador SQL LIKE. Ejemplo:where name like fre%
coincide con “fre”, “fred” y “freddy”.
Ejemplos:
where salary >= 600 where dept != 'Eng' and date '2005-01-21' < hireDate where (dept<>'Eng' and isSenior=true) or (dept='Sales') or seniorityStartTime is null
Ejecuta la siguiente consulta en la tabla de ejemplo:
select name where salary > 700
Muestra la siguiente respuesta:
name |
---|
José |
Mike |
Agrupar por
La cláusula group by
se usa para agregar valores en las filas.
Se crea una sola fila para cada combinación distinta de valores en la cláusula group-by.
Los datos se ordenan de manera automática según las columnas de agrupación, a menos que una cláusula order by
especifique lo contrario.
Nota: Si usas una cláusula group by
, todas las columnas enumeradas en la cláusula select
deben estar enumeradas en la cláusula group by
o estar incluidas en una función de agregación.
Ejemplos:
select dept, max(salary) group by dept
Ejecuta la siguiente consulta en la tabla de ejemplo:
select lunchTime, avg(salary), count(age) group by isSenior,lunchTime
Muestra la siguiente respuesta:
Hora del almuerzo | salario prom. | cantidad |
---|---|---|
12:00:00 | 425 | 2 |
13:00:00 | 600 | 1 |
12:00:00 | 700 | 2 |
13:00:00 | 800 | 1 |
Tabla dinámica
La cláusula pivot
se usa para transformar valores distintos en columnas en columnas nuevas. Por ejemplo, una tabla dinámica por una columna “año” produciría una tabla con una columna para cada año distinto que aparece en la tabla original.
Esto podría ser útil, por ejemplo, si una visualización de gráfico de líneas dibuja cada columna como una línea separada. Si deseas dibujar una línea separada para cada año y “year” es una de las columnas de la tabla original, una buena opción sería usar una operación dinámica para realizar la transformación de datos necesaria.
Nota: Si usas una cláusula pivot
, todas las columnas enumeradas en la cláusula select
deben estar enumeradas en la cláusula group by
o estar incluidas en una función de agregación.
Dado que varias filas pueden contener los mismos valores para las columnas dinámicas, este elemento implica la agregación. Ten en cuenta que, cuando usas pivot
sin group by
, la tabla de resultados contendrá exactamente una fila.
Por ejemplo, ejecuta la siguiente consulta en la tabla de ejemplo:
select sum(salary) pivot dept
Muestra la siguiente respuesta:
Salario salarial en inglés | Salario de marketing | Salario de ventas |
---|---|---|
2100 | 800 | 750 |
Esto se debe a que 2,100 es la suma de los salarios del departamento de ingeniería, 800 para el departamento de Marketing, etcétera.
El uso de pivot
junto con group by
puede ser aún más útil, ya que crea una tabla en la que cada celda contiene el resultado de la agregación para la fila y la columna relevantes. Por ejemplo, ejecuta la siguiente consulta en la tabla de ejemplo:
select dept, sum(salary) group by dept pivot lunchTime
Muestra la siguiente respuesta:
dept | 12:00:00 de sueldo total | 13:00:00; sueldo total |
---|---|---|
Eng | 1,500 | 600 |
Marketing | null | 800 |
Ventas | 750 | null |
También puedes “invertir” esta tabla y cambiar las columnas y las filas si alternas entre las columnas pivot
y group by
. Ejecuta la siguiente consulta en la tabla de ejemplo:
select lunchTime, sum(salary) group by lunchTime pivot dept
Muestra la siguiente respuesta:
Hora del almuerzo | Salario salarial en inglés | Salario de marketing | Salario de ventas |
---|---|---|---|
12:00:00 | 1,500 | null | 750 |
13:00:00 | 600 | 800 | null |
También puedes usar más de una columna en la cláusula pivot
. En ese caso, las columnas de la tabla de respuesta están compuestas por todas las combinaciones únicas de valores en las columnas que existen en la tabla original. Por ejemplo, ejecuta la siguiente consulta en la tabla de ejemplo:
select sum(salary) pivot dept, lunchTime
Muestra la siguiente respuesta:
Ingeniería 12:00:00 | Ing., 13:00:00 | Marketing,13:00:00 de sueldo total | Ventas,12:00:00 suma salarial |
---|---|---|---|
1,500 | 600 | 800 | 750 |
Ten en cuenta que solo las combinaciones que aparecen en la tabla original se proporcionan en las columnas de la tabla de respuesta. Por este motivo, no hay ninguna columna para Marketing, 12:00:00 o para Ventas, 13:00:00.
También es posible usar más de una agregación. Por ejemplo, ejecuta la siguiente consulta en la tabla de ejemplo:
select sum(salary), max(lunchTime) pivot dept
Muestra la siguiente respuesta:
Salario salarial en inglés | Salario de marketing | Salario de ventas | Tiempo máximo de almuerzo | Tiempo máximo para marketing de marketing | Horas máximas de almuerzo de ventas |
---|---|---|---|---|---|
2100 | 800 | 750 | 13:00:00 | 13:00:00 | 12:00:00 |
Puedes combinar varias agregaciones en la cláusula select
, varias columnas en la cláusula group by
y varias columnas en la cláusula pivot
. De forma interna, la agregación se realiza mediante la concatenación de las columnas en el grupo y las cláusulas pivot.
Las columnas especificadas en la cláusula pivot
no pueden aparecer en las cláusulas select
, group by
o order by
.
Cuando se usa pivot
, la cláusula order by
no puede contener ninguna columna de agregación. Esto se debe a que, para cada agregación especificada en la cláusula select
, se generan muchas columnas en la tabla de resultados. Sin embargo, puedes dar formato a las columnas de agregación cuando se usa pivot
. El resultado de ese formato es que todas las columnas nuevas relevantes para la agregación específica, que genera la operación dinámica, tienen el formato del patrón especificado. En
el ejemplo anterior, agregar format sum(salary) "some_format_string"
afectará las siguientes columnas: Eng sumal salarial, suma suma de marketing y sueldo de ventas.
Puedes etiquetar columnas de agregación. Si no se especifica ninguna etiqueta en la cláusula label
, la etiqueta de una columna que se produce como resultado de la dinamización está compuesta por la lista de valores de las columnas dinámicas, el tipo de agregación (mín., máx., suma...) y la etiqueta de la columna agregada.
Por ejemplo, "Eng,12:00:00 sum salaary". Si solo se especificó una agregación en la cláusula select
, se quita la parte de agregación de la etiqueta y solo se conserva la lista de valores en las columnas dinámicas. Por ejemplo, "Eng,12:00:00". Cuando una cláusula label
especifica una etiqueta para una columna de agregación, la etiqueta solicitada se agrega a la lista de valores, cuando solo hay una agregación en la cláusula select
y cuando hay más de una. Por ejemplo, label sum(salary) "sumsal"
dará como resultado las etiquetas de columna “Eng,12:00:00 sumsal”, “Eng,13:00:00 sumsal”, etcétera.
Ordenar por
La cláusula order by
se usa para ordenar las filas según los valores de las columnas especificadas.
Los elementos de una cláusula order by
pueden ser identificadores de columna o el resultado de funciones de agregación, funciones escalares o operadores.
Ejemplos:
order by dept, salary desc
select dept, max(salary) group by dept order by max(salary)
Límite
La cláusula limit
se usa para limitar la cantidad de filas que se muestran.
Ejemplo:
limit 100
Compensación
La cláusula offset
se usa para omitir una cantidad determinada de primeras filas.
Si se usa una cláusula limit
, primero se aplica offset
, por ejemplo, limit 15 offset
30
muestra las filas 31 a 45.
Ejemplos:
offset 10 limit 30 offset 210
Etiqueta
La cláusula label
se usa a fin de establecer la etiqueta para una o más columnas.
Ten en cuenta que no puedes usar un valor de etiqueta en lugar de un ID en una consulta.
Los elementos de una cláusula label
pueden ser identificadores de columna o el resultado de funciones de agregación, funciones escalares o operadores.
Sintaxis:
label column_id label_string [,column_id label_string]
column_id
- El identificador de la columna a la que se le asigna la etiqueta.
label_string
- La etiqueta que se asignará a esa columna. Muchas visualizaciones usan la etiqueta de la columna como texto para mostrar al usuario final, como una etiqueta de leyenda en un gráfico circular. Las etiquetas son literales de string y siguen esas reglas de sintaxis.
Ejemplo:
En el siguiente ejemplo, se establece la etiqueta de la columna del departamento en “Departamento”, la etiqueta de la columna de nombre en “Nombre del empleado” y la etiqueta de la columna de ubicación en “Ubicación del empleado”:
label dept 'Department', name "Employee Name", location 'Employee Location'
Formato
La cláusula format
se usa a fin de especificar un valor con formato para celdas en una o más columnas. Los datos que se muestran deben incluir un valor real y un valor con formato para cada celda en una columna con formato. Muchas visualizaciones usan el valor sin formato para los cálculos, pero el valor con formato para la visualización. Los patrones que especificas en esta cláusula por lo general se muestran en la propiedad pattern de las columnas correspondientes.
Sintaxis de patrones:
number
,date
,timeofday
ydatetime
- Los patrones de fecha y número definidos por la ICU.
-
boolean
- El patrón es una
string
en el formato 'value-if-true:value-if-false'.
Ejemplo:
format salary '#,##0.00', hireDate 'dd-MMM-yyyy', isSenior 'Yes!:Not yet'
Opciones
La cláusula options
se usa a fin de controlar opciones adicionales para la ejecución de consultas. Las palabras clave posibles que pueden seguir a la cláusula options
son:
-
no_format
Quita los valores con formato del resultado y deja solo los valores subyacentes. Se puede usar cuando la visualización específica no usa los valores con formato para reducir el tamaño de la respuesta. -
no_values
Quita los valores subyacentes del resultado y deja solo los valores con formato. Se puede usar cuando la visualización específica usa solo los valores con formato para reducir el tamaño de la respuesta.
Funciones de manipulación de datos
Existen varios tipos de operadores y funciones que te permiten manipular o agregar datos en una sola columna, o comparar o combinar datos en distintas columnas. Algunos ejemplos incluyen suma() (para agregar todos los valores en una columna), máximo (para encontrar el valor más grande en una columna) y + (para sumar los valores de dos columnas en la misma fila).
Algunas funciones pueden aparecer en cualquier cláusula, mientras que otras pueden aparecer en un subconjunto de cláusulas. Esto se documenta a continuación.
Ejemplo:
Dada esta tabla... | Si aplicamos esta consulta... | Obtenemos este resultado. | ||||||||||||||||||||||||
|
select upper(name), year(startDate) |
|
El lenguaje de consulta de la API de visualización de Google define las siguientes funciones de manipulación de datos:
Funciones de agregación
Las funciones de agregación reciben un identificador de una sola columna y realizan una acción en todos los valores de cada grupo (los grupos se especifican con cláusulas group by
o pivot
, o todas las filas si esas cláusulas no se usan).
Ejemplos:
select max(salary) // Returns a table with one column and one row. select max(salary) group by dept // Returns a table with the max salary for each dept column value. select max(salary) pivot dept // Returns a one-row table with a column for each dept, // and the max salary for that department.
Las funciones de agregación se pueden usar en las cláusulas select
, order by
, label
y format
.
No pueden aparecer en las cláusulas where
, group by
, pivot
, limit
, offset
ni options
.
Estas son las funciones de agregación compatibles:
Nombre | Descripción | Tipos de columnas admitidos | Tipo de datos que se muestra |
---|---|---|---|
avg() |
Muestra el valor promedio de todos los valores de la columna para un grupo. | number |
number |
count() |
Muestra el recuento de elementos de la columna especificada para un grupo. Las celdas nulas no se cuentan. | De cualquier tipo | number |
max() |
Muestra el valor máximo de la columna para un grupo. Las fechas se comparan con otras más pequeñas, las string , en orden alfabético, y con mayúsculas y minúsculas. |
De cualquier tipo | Mismo tipo que la columna |
min() |
Muestra el valor mínimo de la columna para un grupo. Las fechas se comparan con otras más pequeñas, las string , en orden alfabético, con mayúsculas y minúsculas |
De cualquier tipo | Mismo tipo que la columna |
sum() |
Muestra la suma de todos los valores de la columna para un grupo. | number |
number |
Nota: Las funciones de agregación solo pueden tomar un identificador de columna como argumento:
max(startDate) // OK min(firstScore) + min(secondScore) // OK max(year(startDate)) // INVALID. max requires column ID sum(salary + perks) // INVALID. sum requires column ID.
Funciones escalares
Las funciones escalares operan en cero o más parámetros para producir otro valor. Las funciones escalares pueden pasar cualquier expresión que se evalúe como el parámetro del tipo adecuado. Ten en cuenta que estos tipos son los definidos en la sección Literals de este documento, que pueden ser un poco diferentes de los objetos JavaScript con nombres similares.
Ten en cuenta que el nombre de la columna se cambiará si se envuelve con una función escalar.
Las funciones escalares pueden tomar como parámetro todo lo que se evalúe como un solo valor:
year(max(startDate)) datediff(now(), todate(1234567890000))
Las funciones escalares se pueden usar en cualquiera de las siguientes cláusulas: select
, where
, group by
, pivot
, order by
, label,
y
format
.
Nombre | |
---|---|
year() |
Muestra el valor del año de un valor de fecha o de fecha y hora. Por ejemplo: Parámetros: Un parámetro de tipo
date o datetime Tipo de datos que se muestra:
number |
month() |
Muestra el valor de mes basado en cero de un valor de fecha o de fecha y hora. Por ejemplo: Parámetros: Un parámetro de tipo
date o datetime Tipo de datos que se muestra:
number |
day() |
Muestra el día del mes de un valor de Parámetros: Un parámetro de tipo
date o datetime Tipo de datos que se muestra:
number |
hour() |
Muestra el valor de hora de un valor de fecha y hora o de Parámetros: Un parámetro de tipo
datetime o timeofday Tipo de datos que se muestra:
number |
minute() |
Muestra el valor de minuto de un valor Parámetros: Un parámetro de tipo
datetime o timeofday Tipo de datos que se muestra:
number |
second() |
Muestra el segundo valor de un valor Parámetros: Un parámetro de tipo
datetime o timeofday Tipo de datos que se muestra:
number |
millisecond() |
Muestra la parte de milisegundos de un valor Parámetros: Un parámetro de tipo
datetime o timeofday Tipo de datos que se muestra:
number |
quarter() |
Muestra el trimestre desde un valor Parámetros: Un parámetro de tipo
date o datetime Tipo de datos que se muestra:
number |
dayOfWeek() |
Muestra el día de la semana a partir de un valor Parámetros: Un parámetro de tipo
date o datetime Tipo de datos que se muestra:
number |
now() |
Muestra un valor de fecha y hora que representa el Parámetros: ninguno
Tipo de datos que se muestra:
datetime |
dateDiff() |
Muestra la diferencia en días entre dos valores Parámetros: Dos parámetros de tipo
date o datetime (pueden ser uno de cada uno)Tipo de datos que se muestra:
number |
toDate() |
Transforma el valor determinado en un valor
Parámetros: Un parámetro de tipo
date , datetime o number Tipo de datos que se muestra:
date |
upper() |
Muestra el Parámetros: un parámetro de tipo
string Tipo de datos que se muestra:
string |
lower() |
Muestra el Parámetros: un parámetro de tipo
string Tipo de datos que se muestra:
string |
Operadores aritméticos
Puedes usar operadores aritméticos para realizar operaciones matemáticas en cualquier elemento que se evalúe como un solo número (es decir, el resultado de las funciones de agregación, los operadores o las constantes).
Ejemplos:
select empSalary - empTax select 2 * (max(empSalary) / max(empTax))
Se definen los siguientes operadores:
Nombre | Descripción | Parámetros | Tipo de datos que se muestra |
---|---|---|---|
+ |
Muestra la suma de dos valores number . |
Dos number |
number |
- |
Muestra la diferencia entre dos valores number . |
Dos number |
number |
* |
Muestra el producto de dos number . |
Dos number |
number |
/ |
Muestra el cociente de dos number . La división por cero muestra un valor nulo. |
Dos number |
number |
Elementos del lenguaje
Literales
Los literales son valores que se usan para comparaciones o tareas. Los literales pueden ser string
, números, valores booleanos o varios tipos de fecha y hora. Estos son algunos ejemplos de los literales que se usan en la sintaxis de consulta:
where startDate < date "2008-03-18" // date "2008-03-18" is a date literal
limit 30 // 30 is a numeric literal
format salary '#,##0.00', isSenior 'not yet:of course!' // '#,##0.00' and 'not yet:of course!' are both string
literals
A continuación, se indican los formatos para cada tipo de literal:
string
Un literal de
string
debe estar entre comillas simples o dobles. Ejemplos:"fourteen" 'hello world' "It's raining"
.-
number
- Los literales numéricos se especifican en notación decimal.
Ejemplos:
3 3.0 3.14 -71 -7.2 .6
-
boolean
- Los literales booleanos son
true
ofalse
. -
date
- Usa la palabra clave
date
seguida de un literal destring
en el formatoyyyy-MM-dd
. Ejemplo:date "2008-03-18"
. -
timeofday
- Usa la palabra clave
timeofday
seguida de un literal destring
en el formatoHH:mm:ss[.SSS]
Ejemplo:timeofday "12:30:45"
. -
datetime
- Una fecha y hora, con la palabra clave
datetime
o la palabra clavetimestamp
seguida de un literal destring
en el formatoyyyy-MM-dd HH:mm:ss[.sss]
. Ejemplo:datetime '2008-03-18 12:30:34.123'
Identificadores
Los identificadores (o ID) son string
de texto que identifican columnas.
Importante: Si su identificador
- Tiene espacios.
- Es una palabra reservada,
- Contiene cualquier cosa, excepto caracteres alfanuméricos o guiones bajos ([a-zA-Z0-9_]), o
- Comienza con un dígito
debe estar entre comillas (no entre comillas simples).
De lo contrario, no es necesario que tu identificador esté entrecomillado. (Ten en cuenta que no todas las palabras clave definidas por la sintaxis son palabras reservadas; por lo tanto, puedes usar "max" como identificador, sin tener que volver a escribirlo entre comillas).
Ejemplos: col1 employee_table `start
date` `7 days traffic` `select`
No recomendamos elegir un identificador que requiera comillas, ya que puede ser fácil olvidarse de usar comillas o accidentalmente usar "comillas simples" en lugar de "comillas inversas". Estos son errores comunes y, a menudo, son difíciles de depurar.
Distinción entre mayúsculas y minúsculas
Los identificadores y los literales de string distinguen entre mayúsculas y minúsculas. Todos los demás elementos de idioma no distinguen entre mayúsculas y minúsculas.
Palabras reservadas
Las siguientes palabras reservadas deben estar en comillas inversas si se usan como un identificador:
and asc by date datetime desc false format group label limit not offset options or order pivot select timeofday timestamp true where