postgresql
Dates, horodatages et intervalles
Recherche…
Lancer un horodatage ou un intervalle sur une chaîne
Vous pouvez convertir une valeur d' timestamp
ou d' interval
en chaîne avec la fonction to_char()
:
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');
Cette déclaration produira la chaîne "12 Aug 2016 16:40:32". La chaîne de formatage peut être modifiée de différentes manières. La liste complète des modèles de modèles peut être trouvée ici .
Notez que vous pouvez également insérer du texte brut dans la chaîne de formatage et que vous pouvez utiliser les modèles de modèle dans n'importe quel ordre:
SELECT to_char('2016-08-12 16:40:32'::timestamp,
'"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');
Cela produira la chaîne "Aujourd'hui, c'est samedi, le 12e jour du mois d'août 2016". Vous devez cependant garder à l’esprit que tous les modèles de modèles - même ceux à une lettre comme "I", "D", "W" - sont convertis, à moins que le texte brut ne soit entre guillemets. Par mesure de sécurité, vous devez mettre tout le texte brut entre guillemets, comme ci-dessus.
Vous pouvez localiser la chaîne dans la langue de votre choix (noms des jours et des mois) en utilisant le modificateur TM (mode de traduction). Cette option utilise le paramètre de localisation du serveur exécutant PostgreSQL ou le client qui s'y connecte.
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');
Avec un paramètre de langue espagnol, ceci produit "Sabado, 12 de Agosto del Año 2016".
SÉLECTIONNEZ le dernier jour du mois
Vous pouvez sélectionner le dernier jour du mois.
SELECT (date_trunc('MONTH', ('201608'||'01')::date) + INTERVAL '1 MONTH - 1 day')::DATE;
201608
est remplaçable par une variable.
Compter le nombre d'enregistrements par semaine
SELECT date_trunc ('semaine', <>) AS "Semaine", comptez (*) FROM <> GROUP BY 1 ORDER BY 1;