Pertanyaan Cara memformat datetime dalam SQL SERVER


Saya mencoba untuk mem-port fungsi MySQL DATE_FORMAT(date,'%y-%m-%d %h:%i:%s %p') ke MsSQL yang setara dengan menggunakan CONVERT().
Cara memformat string datetime setara di SQL SERVER 2012 untuk memberikan output ini '2014-05-24 01:24:37 AM'?


5
2018-05-23 20:11


asal


Jawaban:


Di SQL Server 2012 dan yang bisa Anda gunakan FORMAT():

SELECT FORMAT(CURRENT_TIMESTAMP, 'yyyy-MM-dd hh:mm:ss tt')

Dalam versi sebelumnya, Anda mungkin perlu menggabungkan dua konversi waktu atau lebih yang berbeda untuk mendapatkan apa yang Anda butuhkan, misalnya:

SELECT 
    CONVERT(CHAR(10), CURRENT_TIMESTAMP, 23) + ' ' + 
    RIGHT('0' + LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11)), 11);

Lihat bagian Gaya Tanggal dan Waktu dari CAST dan CONVERT (Transact-SQL) untuk semua gaya pemformatan yang ada di dalamnya.


Saya akan mengingat bahwa kecuali Anda memiliki alasan yang kuat untuk itu, maksud saya a sangat alasan yang bagus, pemformatan biasanya merupakan pekerjaan yang lebih baik untuk teknologi yang menampilkan data.


13
2018-05-23 20:20