Saat menggunakan SQL Server, Anda dapat mengonversi nilai tanggal/waktu menjadi string dengan menggunakan CONVERT()
fungsi. Fungsi ini memungkinkan Anda untuk mengonversi antara tipe data yang berbeda.
Dalam artikel ini, kita akan mengonversi antara berbagai tipe data tanggal/waktu ke varchar
atau nvarchar
string.
Salah satu hal baik tentang fungsi ini adalah memungkinkan Anda menentukan gaya yang akan digunakan untuk mengembalikan tanggal. Misalnya, Anda dapat menentukan apakah tanggal akan ditampilkan sebagai mm/dd/yyyy , yyyy.mm.dd , Senin hh, yyyy , dll. Anda juga dapat menentukan apakah komponen waktu dikembalikan dan bagaimana gayanya.
Sintaks
Pertama, beginilah sintaks resminya:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Argumen ini didefinisikan sebagai berikut:
expression
- Ekspresi apa pun yang valid.
data_type
- Tipe data target. Ini termasuk xml , besar , dan sql_variant . Tipe data alias tidak dapat digunakan.
length
- Integer opsional yang menentukan panjang tipe data target. Nilai defaultnya adalah
30
. style
- Sebuah ekspresi integer yang menentukan bagaimana
CONVERT()
fungsi akan menerjemahkan ekspresi . Untuk nilai gaya NULL, NULL dikembalikan. tipe_data menentukan jangkauan.
Contoh Dasar
Dalam contoh ini, kami mendeklarasikan variabel dan menetapkan nilai dari GETDATE()
fungsi. Kami kemudian mengembalikan nilainya, dan kami juga mengonversi nilai itu menjadi varchar
dan kembalikan itu:
DECLARE @date datetime = GETDATE(); SELECT @date AS Original, CONVERT(varchar, @date) AS Converted;
Hasil:
+-------------------------+---------------------+ | Original | Converted | |-------------------------+---------------------| | 2018-06-07 03:08:21.997 | Jun 7 2018 3:08AM | +-------------------------+---------------------+
Panjang default dari tipe data yang dikembalikan adalah 30
, jadi meskipun kita hanya menentukan varchar
, itu akan mengembalikan hasilnya sebagai varchar(30)
.
Dalam contoh ini, kami tidak memberikan argumen ketiga untuk menunjukkan gaya yang kami inginkan untuk mengembalikannya. Oleh karena itu, argumen tersebut telah dikonversi menggunakan gaya default untuk datetime dan waktu kecil tipe data, yaitu 0
atau 100
(lebih lanjut tentang gaya di bawah).
Menentukan Gaya
Anda dapat menggunakan argumen ketiga untuk menentukan gaya yang akan digunakan oleh nilai yang dikembalikan:
DECLARE @date datetime = GETDATE(); SELECT @date AS Original, CONVERT(varchar(30), @date, 102) AS Converted;
Hasil:
+-------------------------+-------------+ | Original | Converted | |-------------------------+-------------| | 2018-06-07 03:42:33.840 | 2018.06.07 | +-------------------------+-------------+
Dalam contoh ini, kami menetapkan gaya 102
, yang merupakan standar ANSI untuk menampilkan tanggal dengan komponen tahun empat digit.
Untuk mengubahnya ke format ANSI dengan dua digit tahun, kita dapat menggunakan gaya 2
:
DECLARE @date datetime = GETDATE(); SELECT @date AS Original, CONVERT(varchar(30), @date, 2) AS Converted;
Hasil:
+-------------------------+-------------+ | Original | Converted | |-------------------------+-------------| | 2018-06-07 03:44:52.433 | 18.06.07 | +-------------------------+-------------+
Anda dapat melihat lebih banyak contoh di CONVERT() dari Tanggal/Waktu hingga Contoh String di SQL Server.