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

CONVERT() dari Tanggal/Waktu ke Contoh String di SQL Server

 CONVERT() fungsi memungkinkan Anda untuk mengkonversi antara tipe data. Ini mirip dengan CAST() fungsi, tetapi salah satu manfaat CONVERT() adalah, saat Anda mengonversi dari tipe data tanggal/waktu ke string, Anda bisa menambahkan argumen opsional yang menentukan gaya yang Anda inginkan untuk nilai kembalian. Misalnya, Anda bisa mengembalikannya sebagai dd .mm.yyyy , yyyy-mm-dd , dd mon yyyy , dll

Artikel ini berisi contoh berbagai gaya yang dapat Anda kembalikan saat mengonversi nilai tanggal/waktu menjadi string menggunakan CONVERT() fungsi di SQL Server.

Contoh Dasar

Gaya default saat mengonversi dari waktu-tanggal dan waktu kecil tipe datanya adalah 0 dan 100 (ini mewakili gaya yang sama). Oleh karena itu, ketika Anda tidak memberikan gaya (parameter ketiga), beginilah gayanya:

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 |
+-------------------------+---------------------+

Namun, Anda akan mendapatkan hasil yang berbeda jika jenis data aslinya bukan waktu-tanggal atau smalldatetime .

Jika Anda membutuhkannya untuk dikembalikan dalam gaya yang berbeda, Anda harus menentukan argumen ketiga.

Gaya dengan Tahun Dua Digit

Di bawah ini adalah contoh berbagai nilai yang dapat Anda gunakan untuk menentukan gaya menggunakan komponen tahun dua digit.

Gaya 1 hingga 6

DECLARE @date datetime2 = '2018-06-07';
SELECT
    CONVERT(nvarchar(30), @date, 1) AS '1',
    CONVERT(nvarchar(30), @date, 2) AS '2',
    CONVERT(nvarchar(30), @date, 3) AS '3',
    CONVERT(nvarchar(30), @date, 4) AS '4',
    CONVERT(nvarchar(30), @date, 5) AS '5',
    CONVERT(nvarchar(30), @date, 6) AS '6';

Hasil:

+----------+----------+----------+----------+----------+-----------+
| 1        | 2        | 3        | 4        | 5        | 6         |
|----------+----------+----------+----------+----------+-----------|
| 06/07/18 | 18.06.07 | 07/06/18 | 07.06.18 | 07-06-18 | 07 Jun 18 |
+----------+----------+----------+----------+----------+-----------+

Gaya 7 hingga 6

DECLARE @date datetime2 = '2018-06-07';
SELECT
    CONVERT(nvarchar(30), @date, 7) AS '7',
    CONVERT(nvarchar(30), @date, 8) AS '8',
    CONVERT(nvarchar(30), @date, 10) AS '10',
    CONVERT(nvarchar(30), @date, 11) AS '11',
    CONVERT(nvarchar(30), @date, 12) AS '12',
    CONVERT(nvarchar(30), @date, 14) AS '14';

Hasil:

+------------+----------+----------+----------+--------+------------------+
| 7          | 8        | 10       | 11       | 12     | 14               |
|------------+----------+----------+----------+--------+------------------|
| Jun 07, 18 | 00:00:00 | 06-07-18 | 18/06/07 | 180607 | 00:00:00.0000000 |
+------------+----------+----------+----------+--------+------------------+

Gaya dengan Tahun Empat Digit

Di bawah ini adalah contoh berbagai nilai yang dapat Anda gunakan untuk menentukan gaya menggunakan komponen tahun empat digit.

Gaya 100 hingga 103

DECLARE @date datetime2 = '2018-06-07 02:35:52.8537677';
SELECT
    CONVERT(nvarchar(30), @date, 100) AS '100',
    CONVERT(nvarchar(30), @date, 101) AS '101',
    CONVERT(nvarchar(30), @date, 102) AS '102',
    CONVERT(nvarchar(30), @date, 103) AS '103';

Hasil:

+---------------------+------------+------------+------------+
| 100                 | 101        | 102        | 103        |
|---------------------+------------+------------+------------|
| Jun  7 2018  2:35AM | 06/07/2018 | 2018.06.07 | 07/06/2018 |
+---------------------+------------+------------+------------+

Gaya 104 hingga 108

DECLARE @date datetime2 = '2018-06-07 02:35:52.8537677';
SELECT
    CONVERT(nvarchar(30), @date, 104) AS '104',
    CONVERT(nvarchar(30), @date, 105) AS '105',
    CONVERT(nvarchar(30), @date, 106) AS '106',
    CONVERT(nvarchar(30), @date, 107) AS '107',
    CONVERT(nvarchar(30), @date, 108) AS '108';

Hasil:

+------------+------------+-------------+--------------+----------+
| 104        | 105        | 106         | 107          | 108      |
|------------+------------+-------------+--------------+----------|
| 07.06.2018 | 07-06-2018 | 07 Jun 2018 | Jun 07, 2018 | 02:35:52 |
+------------+------------+-------------+--------------+----------+

Gaya 109 hingga 112

DECLARE @date datetime2 = '2018-06-07 02:35:52.8537677';
SELECT
    CONVERT(nvarchar(30), @date, 109) AS '109',
    CONVERT(nvarchar(30), @date, 110) AS '110',
    CONVERT(nvarchar(30), @date, 111) AS '111',
    CONVERT(nvarchar(30), @date, 112) AS '112';

Hasil:

+--------------------------------+------------+------------+----------+
| 109                            | 110        | 111        | 112      |
|--------------------------------+------------+------------+----------|
| Jun  7 2018  2:35:52.8537677AM | 06-07-2018 | 2018/06/07 | 20180607 |
+--------------------------------+------------+------------+----------+

Gaya 113 hingga 114

DECLARE @date datetime2 = '2018-06-07 02:35:52.8537677';
SELECT
    CONVERT(nvarchar(30), @date, 113) AS '113',
    CONVERT(nvarchar(30), @date, 114) AS '114';

Hasil:

+------------------------------+------------------+
| 113                          | 114              |
|------------------------------+------------------|
| 07 Jun 2018 02:35:52.8537677 | 02:35:52.8537677 |
+------------------------------+------------------+

Gaya 120 hingga 127

DECLARE @date datetime2 = '2018-06-07';
SELECT    
    CONVERT(nvarchar(30), @date, 120) AS '120',
    CONVERT(nvarchar(30), @date, 126) AS '126',
    CONVERT(nvarchar(30), @date, 127) AS '127';

Hasil:

+---------------------+---------------------+---------------------+
| 120                 | 126                 | 127                 |
|---------------------+---------------------+---------------------|
| 2018-06-07 00:00:00 | 2018-06-07T00:00:00 | 2018-06-07T00:00:00 |
+---------------------+---------------------+---------------------+

Gaya 130

DECLARE @date datetime2 = '2018-06-07';
SELECT    
    CONVERT(nvarchar(30), @date, 130) AS '130';

Hasil:

+--------------------------------+
| 130                            |
|--------------------------------|
| 24 رمضان 1439 12:00:00.0000000 |
+--------------------------------+

Microsoft memperingatkan bahwa nilai ini tidak ditampilkan dengan benar pada penginstalan SSMS AS default.

Gaya 131

DECLARE @date datetime2 = '2018-06-07';
SELECT    
    CONVERT(nvarchar(30), @date, 131) AS '131';

Hasil:

+-------------------------------+
| 131                           |
|-------------------------------|
| 24/09/1439 12:00:00.0000000AM |
+-------------------------------+

Anda dapat membaca lebih lanjut tentang gaya tanggal/waktu yang tersedia di situs web Microsoft.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SYSDATETIME() Contoh di SQL Server (T-SQL)

  2. Ada apa dengan (nolock) di SQL Server?

  3. Mengembalikan Daftar Skema Partisi di SQL Server (T-SQL)

  4. Kembalikan semua kemungkinan kombinasi nilai pada kolom di SQL

  5. Ubah teks kotak teks menjadi bilangan bulat