Découper l'horodatage pour tronquer les millisecondes
Lorsque vous travaillez avec des horodatages, il peut être nécessaire de supprimer ou d'arrondir la partie milliseconde de l'horodatage. Par exemple, supprimer des fractions de seconde peut être utile pour simplifier l'analyse des données ou améliorer les performances dans certains scénarios.
Une méthode pour y parvenir consiste à utiliser un cast vers timestamp(0) ou timestamptz(0). Cette opération arrondit l'horodatage à la seconde complète la plus proche :
SELECT now()::timestamp(0);
La valeur résultante verra ses millisecondes tronquées à zéro. Cependant, notez que cette approche tronque également les microsecondes et les fractions de secondes.
Une autre option consiste à utiliser la fonction date_trunc(), qui fournit un contrôle plus granulaire sur le processus de troncature. La fonction prend deux arguments : le champ à tronquer (par exemple, « seconde ») et l'horodatage à tronquer. En spécifiant « seconde » comme champ, vous pouvez supprimer les millisecondes sans modifier les secondes :
SELECT date_trunc('second', now()::timestamp);
La fonction date_trunc() prend en charge une variété de champs pour la troncature, notamment « minute » et « heure ». Cela permet une plus grande flexibilité dans le contrôle du niveau de précision souhaité.
Il est important de noter que le type de données de la valeur de retour dans les deux cas correspond à l'entrée. Si l'horodatage d'origine est un timestamp ou timestamptz, le résultat sera également du même type.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!