Saltar al contenido principal
EntradaSalidaAlias

Descripción

El formato Values imprime cada fila entre corchetes.
  • Las filas se separan por comas, sin coma después de la última fila.
  • Los valores dentro de los corchetes también se separan por comas.
  • Los números se muestran en formato decimal, sin comillas.
  • Los arrays se muestran en [].
  • Las cadenas, las fechas y las fechas con hora se muestran entre comillas.
  • Las reglas de escape y el análisis son similares a las del formato TabSeparated.
Durante el formateo, no se insertan espacios adicionales, pero durante el análisis se permiten y se omiten (excepto los espacios dentro de los valores de array, que no están permitidos). NULL se representa como NULL. El conjunto mínimo de caracteres que debes escapar al pasar datos en el formato Values:
  • comillas simples
  • barras invertidas
Este es el formato que se usa en INSERT INTO t VALUES ..., pero también puede usarse para dar formato a los resultados de consultas.

Ejemplo de uso

Inserción de datos

El formato Values es el que usa INSERT, por lo que cualquier sentencia INSERT ... VALUES ya lo utiliza. La cláusula FORMAT Values puede indicarse explícitamente, y las filas pueden suministrarse desde un flujo o un archivo. Cada fila es una tupla entre paréntesis, con sus elementos separados por comas, y las propias tuplas separadas también por comas:
Query
CREATE TABLE t (id UInt32, name String, values Array(UInt32)) ENGINE = Memory;

INSERT INTO t FORMAT Values (1, 'a', [10, 20]), (2, 'b', [30]);

SELECT * FROM t ORDER BY id;
Response
┌─id─┬─name─┬─values──┐
│  1 │ a    │ [10,20] │
│  2 │ b    │ [30]    │
└────┴──────┴─────────┘

Uso de expresiones en la entrada

A diferencia de la mayoría de los formatos de entrada, Values puede evaluar expresiones SQL en cada campo en lugar de aceptar únicamente literales. Esto se controla mediante input_format_values_interpret_expressions (habilitado de forma predeterminada): cuando un campo no puede ser leído por el analizador de streaming rápido, ClickHouse recurre al analizador de SQL e interpreta el campo como una expresión.
Query
CREATE TABLE prices (item String, total UInt32) ENGINE = Memory;

INSERT INTO prices FORMAT Values ('apple', 3 * 4), ('pear', length('hello') + 10);

SELECT * FROM prices ORDER BY total;
Response
┌─item──┬─total─┐
│ apple │    12 │
│ pear  │    15 │
└───────┴───────┘

Selección de datos

El formato Values también puede usarse para dar formato a los resultados de consulta. Los números se escriben sin comillas, los arrays entre [] y las cadenas y fechas entre comillas simples; las comillas simples y las barras invertidas dentro de las cadenas se escapan con una barra invertida, y NULL se escribe como NULL:
Query
SELECT 1 AS a, 'O''Reilly' AS b, NULL::Nullable(String) AS c FORMAT Values;
Response
(1,'O\'Reilly',NULL)

Configuración del formato

ConfiguraciónDescripciónPredeterminado
input_format_values_interpret_expressionssi no se pudo analizar el campo con el analizador de streaming, ejecute el analizador de SQL e intente interpretarlo como una expresión SQL.true
input_format_values_deduce_templates_of_expressionssi no se pudo analizar el campo con el analizador de streaming, ejecute el analizador de SQL, deduzca la plantilla de la expresión SQL, intente analizar todas las filas con esa plantilla y luego interprete la expresión para todas las filas.true
input_format_values_accurate_types_of_literalsal analizar e interpretar expresiones mediante una plantilla, compruebe el tipo real del literal para evitar posibles problemas de desbordamiento y precisión.true
Última modificación el 25 de junio de 2026