Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengonversi DateTime ke Format YYYY-MM-DD di SQL Server

Database SQL Server dapat menyimpan berbagai tipe data, seperti angka, string teks, nilai Boolean, tanggal, dll. Namun, menyimpan dan menangani data tersebut memiliki kekhususan. Artikel saat ini akan fokus pada penyimpanan tanggal dalam tabel database SQL Server dan mengonversi berbagai jenis tanggal ke dalam format SQL Server YYYY-MM-DD dan sebaliknya.

Mari kita mulai!

YYYY-MM-DD – Format Tanggal di SQL Server

Format data SQL Server YYYY-MM-DD menunjukkan bahwa tahun ditandai dengan empat digit misalnya, 2021. bulan ditentukan berikutnya dalam 2 digit mulai dari 1-12 – misalnya, Juni akan menjadi 06. Terakhir, hari dalam sebulan disajikan dalam 2 digit, misalnya 20. Jadi, tanggal 06 Juni 2021 , akan disimpan sebagai 21-06-21. Ini adalah format YYYY-MM-DD untuk tanggal di database SQL Server.

Di SQL Server, Anda bisa menggunakan tipe data Date atau DateTime untuk menyimpan tanggal. Perbedaan antara tipe data Date dan DateTime terletak pada tingkat detail di mana kedua tipe data tersebut menyimpan informasi tanggal.

  • DateTime tipe data menyimpan tanggal bersama dengan waktu informasi dalam jam , menit , dan detik .
  • Tanggal tipe data hanya memungkinkan Anda untuk menyimpan tanggal informasi tanpa informasi waktu.

Contoh berikut menunjukkan perbedaan antara tipe data Date dan DateTime.

Pertama, kita membuat MyDatabase dummy database dan satu tabel (Pasien ) di dalamnya.

Pasien tabel memiliki 5 kolom:Id, Nama, Jenis Kelamin, DOB (Tanggal Lahir), dan DOD (Tanggal Kematian). Tipe kolom DOB adalah Date, sedangkan kolom DOD memiliki tipe data DateTime.

CREATE DATABASE MyDatabase

USE MyDatabase
CREATE TABLE Patient

(
Id INT PRIMARY KEY IDENTITY(1,1),
Name VARCHAR (50) NOT NULL,
Gender VARCHAR (50),
DOB Date,
DOD DateTime
)

Skrip berikut menyisipkan beberapa catatan dummy ke dalam Pasien tabel:

INSERT INTO Patient
VALUES ('Jack', 'Male', '1960-12-15', '2017-06-30 16:30:35'),
('Sara', 'Female', '1962-01-20', '2015-02-22 10:35:55'),
('Elisa', 'Female', '1959-03-25', '2020-03-16 22:24:39'),
('Nik', 'Male', '1938-12-15', '2011-06-21 09:45:55'),
('Jos', 'Male', '1940-09-12', '2015-03-25 11:55:20')

Perhatikan perbedaan antara nilai yang dimasukkan ke dalam kolom DOB dan kolom DOD. Kolom DOB memiliki nilai dalam format YYYY-MM-DD, tetapi untuk kolom DOD, Anda meneruskan informasi HH:MM:SS (jam:menit:detik).

Sekarang mari kita lihat bagaimana Pasien our meja terlihat. Jalankan skrip SQL berikut untuk memilih semua catatan dari tabel Pasien:

SELECT * FROM Patient

Cara Mengonversi DateTime ke Format Tanggal YYYY-MM-DD di SQL Server

Seringkali, kita hanya membutuhkan bagian tanggal dari DateTime kolom. Karena nilai tanggal disimpan di SQL Server dalam format YYYY-MM-DD secara default, mengekstrak bagian tanggal dari tipe data DateTime akan mengembalikan tanggal dalam format ini .

Mari kita lihat sebuah contoh. DOD kolom di Pasien tabel menyimpan nilai dalam DateTime format. Mari kita lihat cara mengekstrak Tanggal bagian dari kolom:

SELECT CAST(DOD AS DATE) AS DOD_Date
FROM Patient

Seperti yang Anda lihat dari skrip di atas, untuk mengonversi kolom tipe DateTime menjadi Tanggal , Anda dapat menggunakan CAST fungsi. Anda harus meneruskan nama kolom diikuti dengan AS pernyataan dan TANGGAL ketik ke CAST fungsi.

Berikut adalah hasil skrip Anda:nilai dari kolom DOD dipilih dan diubah menjadi format YYYY-MM-DD.

Mari kita pilih keduanya DOD yang asli nilai kolom dan DOD converted yang dikonversi nilai untuk menunjukkan perbedaan di antara mereka:

SELECT DOD as DOD, CAST(DOD AS DATE) AS DOD_Date
FROM Patient

Terakhir, jika Anda ingin memilih semua kolom di tabel dan hanya menampilkan satu kolom (misalnya, mengonversi kolom DOD ke tipe Tanggal), Anda dapat menjalankan skrip berikut:

SELECT t.*, CAST(DOD AS DATE) AS DOD_Date
from Patient t

Pada output, Anda dapat melihat semua kolom tabel beserta kolom DOD_Date yang berisi bagian Date dari kolom DOD.

Cara Mengonversi String ke Format Tanggal SQL Server YYYY-MM-DD

Tanggal sering disimpan dalam format string di kolom tabel SQL Server. Anda dapat mengonversi nilai string ke format tanggal SQL Server YYYY-MM-DD.

Mari buat kolom lain di Pasien our meja. Nama kolomnya adalah Tanggal_Kedatangan (kolom dummy yang menunjukkan tanggal kedatangan pasien), dan jenis kolomnya adalah VARCHAR . Jalankan script berikut untuk membuat kolom ini:

ALTER TABLE Patient
ADD Arriv_Date varchar(50);

Anda menerima Tanggal_Kedatangan . yang baru kolom ditambahkan ke Pasien kolom. Saat ini, Tanggal_Kedatangan kolom berisi NULL nilai.

SELECT * FROM Patient

Sekarang mari tambahkan beberapa catatan ke dalam Tanggal_Kedatangan kolom. Skrip berikut menyisipkan string dalam berbagai format tanggal ke kolom ini.

UPDATE Patient SET Arriv_Date = '10-Nov-2012' WHERE Id = 6
UPDATE Patient SET Arriv_Date = 'March 31, 2015' WHERE ID = 7
UPDATE Patient SET Arriv_Date = '12/02/2020' WHERE ID = 8
UPDATE Patient SET Arriv_Date = '10 October 2020' WHERE ID = 9
UPDATE Patient SET Arriv_Date = '15/10/21' WHERE ID = 10

Sekarang, mari kita lihat bagaimana data di Arriv_Date kolom terlihat. Jalankan script di bawah ini:

SELECT * FROM Patient

Untuk mengonversi semua string dalam Arriv_Date kolom ke format tanggal SQL Server YYYY-MM-DD , Anda dapat kembali menggunakan CAST fungsi. Anda perlu menentukan nama kolom diikuti dengan AS pernyataan dan TANGGAL ketik.

Script berikut memilih Arriv_Date asli kolom dan nilai di dalamnya yang diubah menjadi format tanggal.

Select Arriv_Date, CAST(Arriv_Date as DATE) as ARRIVAL_DATE
FROM Patient

Output menunjukkan nilai dalam format tanggal yang berbeda. Kolom tipe string Arriv_Date dikonversi ke YYYY-MM-DD format dalam ARRIVAL_DATE kolom:

Cara Mengonversi Format Tanggal SQL Server YYYY-MM-DD Ke Format Lain

Sama seperti Anda dapat mengonversi format lain ke YYYY-MM-DD, Anda juga dapat melakukan sebaliknya. Untuk mengonversi YYYY-MM-DD format tanggal ke string dengan format tanggal yang berbeda, Anda dapat menggunakan fungsi CONVERT.

Fungsi CONVERT menerima tiga parameter:tipe target yaitu VARCHAR(50) dalam skrip berikut, kolom tanggal asli, dan kode. Kode mendefinisikan bagaimana tanggal yang dikonversi akan terlihat seperti. Di sini nilai kode 105 mengubah tanggal menjadi format DD-MM-YYYY.

Jalankan skrip untuk mengonversi tanggal dari format YYYY-MM-DD ke DD-MM-YYYY:

SELECT DOB, CONVERT(varchar(50), DOB ,105) as DOB_CONV
From Patient

Berikut adalah outputnya:

Mari kita punya contoh lain. Nilai kode 106 untuk tanggal yang dikonversi mengonversi tanggal dari format YYYY-MM-DD ke format DD MON YYYY. Misalnya, di kolom pertama, tanggal 1960-12-15 diubah menjadi 12 Des 1960.

SELECT DOB, CONVERT(varchar(50), DOB ,106) as DOB_CONV
From Patient

Demikian pula, nilai kode 6 mengonversi tanggal ke format DD MON YY:

SELECT DOB, CONVERT(varchar(50), DOB ,6) as DOB_CONV
From Patient

Dan terakhir, nilai kode 11 mengubah tanggal menjadi format YYYY/MM/DD:

SELECT DOB, CONVERT(varchar(50), DOB ,111) as DOB_CONV
From Patient

Untuk melihat detail lebih lanjut dari semua berbagai format tanggal dan kode yang sesuai, lihat dokumentasi resmi SQL Server.

Kesimpulan

Dengan cara ini, kami telah mengklarifikasi esensi dari format tanggal server SQL YYYY-MM-DD dan kasus khusus dalam mengonversi tanggal ke dalam format ini dan sebaliknya.

Kami belajar menggunakan fungsi CAST untuk mengonversi tipe data yang berbeda termasuk DateTime dan string ke format YYYY-MM-DD dan fungsi CONVERT untuk mengubah tanggal YYYY-MM-DD ke format lain.

Selain itu, alat modern untuk spesialis SQL Server membuat pekerjaan mengedit tanggal menjadi lebih sederhana. Misalnya, dbForge Studio multi-fitur untuk SQL Server menyertakan, di antara opsi lainnya, Editor Data Visual praktis yang dapat Anda gunakan saat bekerja dengan tanggal di SQL Server.

Semoga informasi ini bermanfaat untuk Anda. Tetap disini!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengganti Nama Database di SQL Server - Tutorial SQL Server / TSQL Bagian 26

  2. Pantau Harapan Hidup Halaman di SQL Server

  3. Bagaimana cara membandingkan versi perangkat lunak menggunakan SQL Server?

  4. Kirim Email dengan Lampiran di SQL Server (T-SQL)

  5. Apa gunanya GO di SQL Server Management Studio &Transact SQL?