タイムスタンプをトリミングしてミリ秒を切り捨てる
タイムスタンプを使用する場合、タイムスタンプのミリ秒部分を破棄または四捨五入する必要がある場合があります。たとえば、1 秒の小数部分を削除すると、データ分析を簡素化したり、特定のシナリオでパフォーマンスを向上させるのに役立ちます。
これを実現する 1 つの方法は、timestamp(0) または timestamptz(0) へのキャストを使用することです。この操作では、タイムスタンプが最も近い整数秒に丸められます:
SELECT now()::timestamp(0);
結果の値のミリ秒は 0 に切り捨てられます。ただし、このアプローチではマイクロ秒と小数秒も切り捨てられることに注意してください。
もう 1 つのオプションは、date_trunc() 関数を利用することです。これにより、切り捨てプロセスをより詳細に制御できます。この関数は 2 つの引数を取ります: 切り詰めるフィールド (「秒」など) と切り詰めるタイムスタンプです。フィールドとして「秒」を指定すると、秒を変更せずにミリ秒を削除できます。
SELECT date_trunc('second', now()::timestamp);
date_trunc() 関数は、「分」や「時」など、切り捨て用のさまざまなフィールドをサポートしています。これにより、必要な精度のレベルをより柔軟に制御できるようになります。
どちらの場合も、戻り値のデータ型が入力と一致することに注意することが重要です。元のタイムスタンプが timestamp または timestamptz の場合、結果も同じタイプになります。
以上がSQL のタイムスタンプからミリ秒を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。