Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Cara Mengubah Format Tanggal dan Waktu di T-SQL

Masalah:

Anda ingin mengubah format bidang tanggal atau nilai dalam database SQL Server.

Contoh:

Basis data kami memiliki tabel bernama Patient dengan data di kolom Id , FirstName , LastName , dan RegistrationDate .

Id Nama Depan Nama Belakang Tanggal Pendaftaran
1 Jane Williams 20-06-2019
2 Gabriel Coklat 02-02-2019
3 Lora Rakyat 11-11-05

Mari kita ubah format tanggal pendaftaran setiap pasien. Kami akan menempatkan nama hari kerja terlebih dahulu, diikuti dengan hari dan nama bulan serta 4 digit tahun (mis. “Jumat, 27 Desember 2019”).

Solusi:

Kami akan menggunakan fungsi FORMAT() untuk mengubah format tanggal di RegistrationDate kolom.

SELECT  FirstName,
        LastName,
        FORMAT(RegistrationDate ,'dddd, d MMMM, yyyy')
          AS FormattedRegistrationDate
FROM Patient;

Berikut hasil querynya:

Nama Depan Nama Belakang FormattedRegistrationDate
Jane Williams Kamis, 20 Juni 2019
Gabriel Coklat Sabtu, 2 Februari 2019
Lora Rakyat Sabtu, 5 November 2016

Diskusi:

Kita dapat mengubah bagaimana tanggal tertentu ditampilkan dengan fungsi FORMAT(). Fungsi ini membutuhkan dua argumen wajib dan satu argumen opsional. Dalam contoh kami, kami hanya menggunakan dua argumen wajib. Yang pertama adalah tanggal, yang bisa dari kolom tanggal/waktu/tanggalwaktu atau ekspresi apa pun yang mengembalikan tanggal atau waktu. (Dalam contoh kami, kami menggunakan kolom RegistrationDate .) Argumen kedua adalah string yang berisi format tanggal baru. Dalam contoh kami, kami menggunakan 'dddd, dd MMMM, yyyy' :

  • dddd – Nama hari dalam seminggu.
  • d – Hari dalam sebulan, dari 1 hingga 31.
  • MMMM – Nama lengkap bulan.
  • yyyy – Tahun empat digit.

Tabel di bawah ini menyajikan lebih banyak penentu format tanggal/waktu:

penentu deskripsi
d Hari dalam kisaran 1-31
dd Hari dalam kisaran 31-01
ddd Nama singkat dari hari dalam seminggu
dddd Nama lengkap hari dalam seminggu
M Bulan dari 1 sampai 12
MM Bulan dari 01 hingga 12
MMM Nama bulan yang disingkat
MMMM Nama lengkap bulan ini
y 2 digit tahun, dari 0 hingga 99
yy 2 digit tahun dari 00 hingga 99
yyyy tahun 4 digit
g Era (mis. M.)
h Jam dari 1 hingga 12 (jam 12 jam)
hh Jam dari 01 hingga 12 (jam 12 jam)
H Jam dari 0 hingga 23 (jam 24 jam)
HH Jam dari 00 hingga 23 (jam 24 jam)
m Menit dari 0 hingga 59
mm Menit dari 00 hingga 59
s Kedua dari 0 hingga 59
ss Kedua dari 00 hingga 59
t Karakter pertama AM atau PM (mis. 9A, 5P)
tt AM atau PM
z Offset jam, tanpa awalan nol (mis. +3)
zz Offset jam, dengan awalan nol (mis. +03)

Anda dapat mempelajari lebih lanjut di dokumentasi Microsoft untuk format tanggal dan waktu standar serta format khusus.

Jika Anda ingin memformat tanggal ini untuk bahasa dan/atau negara tertentu, gunakan argumen opsional ketiga:budaya . Argumen ini adalah string yang berisi kode budaya untuk wilayah atau negara tertentu. (Kode budaya terdiri dari kode bahasa, tanda hubung, dan kode negara.) Pada contoh di bawah, kami menggunakan kode budaya untuk Jerman, yang menggabungkan kode bahasa Jerman ('de') dengan kode negara untuk Jerman ('DE'), yaitu 'de-DE'. Tanggal yang dihasilkan ditampilkan dalam bahasa Jerman dan diformat seperti yang diharapkan oleh pemirsa Jerman.

SELECT  FirstName,
        LastName,
        FORMAT(RegistrationDate ,'dddd, d MMMM, yyyy', 'de-DE')
          AS FormattedRegistrationDate
FROM Patient;

Inilah hasil dari kueri ini:

Nama Depan Nama Belakang Tanggal Pendaftaran
Jane Williams Donnerstag, 20 Juni 2019
Gabriel Coklat Samstag, 2 Februari 2019
Lora Rakyat Samstag, 5 November 2016

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kurangi panggilan basis data untuk meningkatkan kinerja situs web

  2. Bongkar Database Sangat Besar

  3. T-SQL Selasa #106 :BUKAN pemicu

  4. Kompleksitas NULL – Bagian 1

  5. Apa? Memahami Indeks Hash