Referencia de funciones

FORMAT

Construye una cadena a partir de una plantilla y pone valores en el lugar de %s, %I y %L.

PostgreSQL 17.9
FORMAT(format_string[, value, ...])
  • [ ]parte opcional
  • ...se puede repetir
format_string
Plantilla con marcadores para los valores
text
value
Valores que se insertan, por orden
Opcional

Valor devuelto

Cadena (text)

Ejemplos

Insertar valores en una plantilla

PostgreSQL 17.9
SELECT FORMAT('Hello, %s! You have %s new messages', 'Ann', 5) AS greeting;
greeting
Hello, Ann! You have 5 new messages

Nombre con estado y alineación

PostgreSQL 17.9
SELECT FORMAT('%s (%s)', member_name, status) AS member,
	FORMAT('%-10s|', status) AS padded
FROM FamilyMembers;
memberpadded
Headley Quincey (father)father |
Flavia Quincey (mother)mother |
Andie Quincey (son)son |
Lela Quincey (daughter)daughter |
Annie Quincey (daughter)daughter |
Ernest Forrest (father)father |
Constance Forrest (mother)mother |
Wednesday Addams (daughter)daughter |

NULL, una cadena entre comillas y un nombre

PostgreSQL 17.9
SELECT FORMAT('%s and %s', 'a', NULL) AS with_null,
	FORMAT('%L', 'O''Neil') AS literal,
	FORMAT('%I', 'Order items') AS identifier;
with_nullliteralidentifier
a and 'O''Neil'"Order items"

Detalles

%s inserta un valor como texto; %L, como literal de cadena entre comillas simples, y %I, como nombre de tabla o de columna, entre comillas dobles solo si hace falta, por ejemplo por un espacio, mayúsculas o una palabra clave. FORMAT('%I', 'foo') devuelve foo, mientras que FORMAT('%I', 'Order items') devuelve "Order items". %% escribe un signo de porcentaje.

%s inserta NULL como cadena vacía, y %L, como la palabra NULL sin comillas. El ancho se indica con un número después de %: %-10s rellena el valor con espacios por la derecha hasta 10 caracteres.

En MySQL la función FORMAT hace otra cosa: formatea un número con separadores de miles.

Véase también