Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menukar Cap Masa Bigint UNIX kepada DateTime dalam SQL Server?

Bagaimana untuk Menukar Cap Masa Bigint UNIX kepada DateTime dalam SQL Server?

Barbara Streisand
Lepaskan: 2025-01-17 16:36:14
asal
899 orang telah melayarinya

How to Convert Bigint UNIX Timestamps to DateTime in SQL Server?

SQL Server: Menukar Cap Masa UNIX Bigint kepada DateTime

Panduan ini menunjukkan cara untuk menukar cap masa UNIX bigint dengan cekap kepada nilai DateTime dalam SQL Server.

Kaedah utama melibatkan penggunaan fungsi DATEADD:

<code class="language-sql">SELECT DATEADD(SECOND, [unixtime], '19700101')
FROM [Table]</code>
Salin selepas log masuk

Pertanyaan ini menambah bilangan saat yang diwakili oleh lajur unixtime (sejak zaman Unix) ke tarikh asas 1 Januari 1970, menghasilkan DateTime yang sepadan.

Memahami Zaman

Tarikh '19700101' menandakan zaman Unix—titik permulaan untuk cap masa UNIX (1 Januari 1970, 00:00:00 UTC).

Menangani Masalah Tahun 2038: Penyelesaian Teguh

Cap masa UNIX integer 32-bit standard mempunyai had: ia melimpah pada 19 Januari 2038, pada 03:14:07 UTC. Untuk mengendalikan cap masa melebihi tarikh ini, kami boleh menggunakan pendekatan DATEADD dua langkah:

<code class="language-sql">DECLARE @t BIGINT = 4147483645;
DECLARE @oneyear INT = 31622400; -- Approximate seconds in a year

SELECT (@t / @oneyear) -- Years to add
SELECT (@t % @oneyear) -- Remaining seconds

-- DateTime calculation for timestamp @t
SELECT DATEADD(SECOND, @t % @oneyear, DATEADD(YEAR, @t / @oneyear, '19700101'));</code>
Salin selepas log masuk

Kaedah ini mula-mula mengira bilangan tahun dan baki saat, kemudian menggunakannya secara berurutan pada tarikh zaman, mencegah ralat limpahan dan memastikan penukaran yang tepat untuk cap masa selepas 2038.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa Bigint UNIX kepada DateTime dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan