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

Cara Mengonversi Nilai Tanggal/Waktu menjadi String di SQL Server menggunakan CONVERT()

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 xmlbesar , 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - Tabel PIVOT Dinamis - Injeksi SQL

  2. Jenis Kursor SQL Server - Kursor Dinamis | Tutorial SQL Server / Tutorial TSQL

  3. Aktifkan Database Mail di SQL Server (T-SQL)

  4. Buat Server Tertaut di SQL Server (Contoh T-SQL)

  5. Hapus karakter aneh ( A dengan topi) dari kolom varchar SQL Server