PostgreSQL: constantes de strings cotizadas en dólares

En PostgreSQL , el $$

select 'String constant';

select 'I''m also a string constant';

MI\

select E'I\'m also a string constant';

Si una constante de string contiene una barra invertida, debe escapar de ella utilizando otra barra invertida. El problema surge cuando la constante de string contiene muchas comillas simples y barras invertidas. Duplicar cada comilla y barra invertida hace que la constante de string sea más difícil de leer y mantener. La versión 8.0 de PostgreSQL introdujo la función de cotización en dólares para hacer que las constantes de string sean más legibles.

A continuación se muestra la sintaxis de las constantes de string cotizadas en dólares:

Syntax: $tag$<string_constant>$tag$

En esta sintaxis, la etiqueta es opcional. Puede contener cero o muchos caracteres. Entre la $etiqueta$, puede colocar cualquier string con comillas simples (‘) y barras invertidas (\). Por ejemplo:

select $$I'm a string constant that contains a backslash \$$;

En este ejemplo, no especificamos la etiqueta entre los dos signos de dólar ($). El siguiente ejemplo utiliza la sintaxis constante de string cotizada en dólares con una etiqueta:

SELECT $message$I'm a string constant that contains a backslash \$message$;

mensaje$

do 
$$
declare
   film_count integer;
begin 
   select count(*) into film_count
   from film;
   raise notice 'The number of films: %', film_count;
end;
$$;

Producción:

create function find_film_by_id(
   id int
) returns film 
language sql
as 
$$
  select * from film 
  where film_id = id;  
$$;

Ahora llama a la función usando la siguiente declaración:

SELECT find_film_by_id(3);

Producción:

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *