私はさまざまなタイム ゾーン (および期間) でさまざまなデータベースを使用していますが、通常、問題を引き起こす原因の 1 つは、日付/時刻の定義です。
このため、日付は開始値への参照であるため、計算方法を追跡するために、基準日を保存しようとします。つまり、その特定のコンピューター/データベースでサポートされている最小の日付。
よく見れば、これは RDBMS とそのタイプの特定のストレージに依存しています。SQL Server では、この「基準日」を計算する方法をいくつか見つけました。
SELECT CONVERT(DATETIME, 0)
また
SELECT DATEADD(MONTH, 0, 0 )
またはこのようなキャストさえ:
DECLARE @300 BINARY(8)
SET @300 = 0x00000000 + CAST(300 AS BINARY(4))
set @dt=(SELECT CAST(@300 AS DATETIME) AS BASEDATE)
print CAST(@dt AS NVARCHAR(100))
(@dt は日時変数)
私の質問は、PostgreSQL で基準日を計算する同様の方法、つまり、サポートされている最小の日付であり、すべての計算の基準となる値はありますか?
date
typeの説明から、サポートされている最小の日付は紀元前 4713 年であることがわかりますが、SQL Server で行うように、この値をプログラムで (たとえば、書式設定された日付文字列として) 取得する方法はありますか?