Exploser un champs en lignes selon un délimitateur avec PostGreSQL

On utilisera la fonction unnest() qui permet normalement de récupérer les valeurs d’un array. Si le champs contient des chaînes de caractères, on combinera avec la fonction string_to_array() :

SELECT unnest(table_name.field_name) AS alias
FROM schema_name.table_name ;

Sources :

Publicités

Remplacer une partie d’une chaîne de caractères dans une table avec SQL

L’objectif est de remplacer une partie d’une chaîne de caractères par une autre dans un champs.

On utilise la fonction REPLACE() qui comporte trois paramètres :

  • chaîne en entrée (ici, le nom du champs),
  • texte à remplacer,
  • texte qui sert de remplacement.

Ce qui donne la requête SQL suivante :

UPDATE schema.tablename
SET fieldname = REPLACE(fieldname, ‘xxx’, ‘yyy’)

Source :

Trouver les enregistrements n’existant pas dans une table en SQL

L’objectif est de trouver – entre deux tables possédants un ou plusieurs champs identiques – les enregistrements n’existant pas dans l’une des deux.

Méthode 1 : avec une sous-requête (subquery)

SELECT *
FROM table_1
WHERE NOT EXISTS (
SELECT *
FROM table_2
WHERE table_1 .id = table_2.id
);

Méthode 2 : avec l’opérateur NOT IN

SELECT *
FROM table_1
WHERE id NOT IN ( SELECT id FROM table_2);

Source :