Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menukar Lajur Datetime UTC kepada Waktu Tempatan dalam Penyata Pilih SQL?

Bagaimana untuk Menukar Lajur Datetime UTC kepada Waktu Tempatan dalam Penyata Pilih SQL?

Patricia Arquette
Lepaskan: 2025-01-17 04:27:10
asal
752 orang telah melayarinya

How to Convert UTC Datetime Columns to Local Time in SQL Select Statements?

Menukar Lajur Waktu Tarikh UTC kepada Waktu Tempatan dalam Penyata Pilih SQL

Apabila melaksanakan pertanyaan pilihan SQL, mungkin perlu menukar lajur waktu tarikh UTC kepada waktu tempatan untuk memudahkan lebih mudah tafsiran dan paparan. Penukaran ini boleh dicapai tanpa mengubah suai pangkalan data atau menggunakan kod luaran.

Kaedah Penukaran

Dalam SQL Server 2008 atau lebih baru, sintaks berikut boleh digunakan:

SELECT CONVERT(datetime, 
               SWITCHOFFSET(CONVERT(datetimeoffset, 
                                    MyTable.UtcColumn), 
                            DATENAME(TzOffset, SYSDATETIMEOFFSET()))) 
       AS ColumnInLocalTime
FROM MyTable
Salin selepas log masuk

Alternatif yang lebih pendek ialah:

SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) 
       AS ColumnInLocalTime
FROM MyTable
Salin selepas log masuk

Pertimbangan

Ia penting untuk mengelak daripada menggunakan penolakan (-) untuk mengira perbezaan tarikh, kerana pendekatan ini boleh membawa kepada keputusan yang tidak tepat disebabkan oleh operasi bukan atom.

Pelarasan DST

Kaedah yang disediakan tidak mengambil kira Daylight Menjimatkan Masa (DST). Jika pelarasan DST diperlukan, rujuk soalan berikut:

  • [Cara mencipta fungsi Mula dan Tamat Masa Siang dalam SQL Server](https://stackoverflow.com/questions/2614192/how -untuk-membuat-siang-jimat-masa-mula-dan-fungsi-akhir-dalam-sql-server)

Atas ialah kandungan terperinci Bagaimana untuk Menukar Lajur Datetime UTC kepada Waktu Tempatan dalam Penyata Pilih SQL?. 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