SQL Server: Menukar Cap Masa UNIX kepada DateTime
Cap masa UNIX, disimpan sebagai nilai bigint
, mewakili detik berlalu sejak zaman Unix (1 Januari 1970, 00:00:00 UTC). Menukar ini kepada format DATETIME
SQL Server memudahkan pengurusan pangkalan data.
Kaedah mudah menggunakan DATEADD
:
<code class="language-sql">SELECT DATEADD(second, [unixtime], '19700101') FROM [Table];</code>
Ini menambah unixtime
(dari lajur [unixtime]
) ke tarikh zaman, menghasilkan DATETIME
yang sepadan.
Memahami Zaman
'19700101' mewakili zaman – titik asal sistem cap masa UNIX. Menambahkan cap masa pada tarikh ini secara berkesan menterjemahkan cap masa berangka kepada tarikh dan masa yang boleh dibaca manusia.
Menangani Masalah Tahun 2038
Had integerDATEADD
(maksimum 2,147,483,647 saat) memberikan cabaran untuk cap masa yang melebihi nilai ini. Untuk mengendalikan tarikh melangkaui tahun 2038, pendekatan yang lebih mantap diperlukan, yang berpotensi melibatkan pembahagian cap masa kepada komponen tahun dan baki saat untuk operasi DATEADD
yang berasingan. Ini mengelakkan ralat limpahan aritmetik.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Waktu UNIX kepada DateTime dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!