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

5 Cara Mendapatkan Nama Bulan Pendek dari Tanggal di SQL Server

Terkadang saat bekerja dengan SQL Server (atau DBMS lainnya dalam hal ini), Anda perlu mengembalikan nama pendek selama sebulan. Yang saya maksud adalah 3 huruf singkatan dari satu bulan. Misalnya, Anda memerlukan “Des”, bukan “Desember”.

Berikut adalah empat cara Anda dapat mengekstrak nama bulan yang dipersingkat dari tanggal di SQL Server.

Fungsi FORMAT()

FORMAT() fungsi telah tersedia sejak SQL Server 2012, dan ini adalah cara paling ringkas untuk mengembalikan bulan sebagai singkatan 3 huruf.

Berikut ini contoh cara kerjanya:

DECLARE @date datetime2 = '2000-01-01';
SELECT FORMAT(@date, 'MMM') AS 'FORMAT';

Hasil:

FORMAT
------
Jan   

Baris pertama hanya mendeklarasikan variabel dan memberikan tanggal untuk itu. Baris kedua adalah tempat kami mengembalikan nama bulan pendek dari tanggal.

Fungsi CAST() dan DATENAME()

Opsi ini menampilkan tanggal sebagai CHAR(3) , sehingga memotong semua karakter yang mengikuti tiga karakter pertama.

Ini contohnya:

DECLARE @date datetime2 = '2000-01-01';
SELECT CAST(DATENAME(month, @date) AS CHAR(3)) AS 'CAST/DATENAME';

Hasil:

CAST/DATENAME
-------------
Jan          

Fungsi LEFT() dan DATENAME()

Opsi ini mirip dengan yang sebelumnya, kecuali opsi ini menggunakan LEFT() berfungsi untuk mengambil 3 karakter paling kiri dari tanggal.

Contoh:

DECLARE @date datetime2 = '2000-01-01';
SELECT LEFT(DATENAME(month, @date), 3) AS 'LEFT/DATENAME';

Hasil:

LEFT/DATENAME
-------------
Jan          

Fungsi LEFT() dan CONVERT()

Opsi ini mengubah tanggal menjadi varchar, lalu mengambil tiga karakter pertama.

Contoh:

DECLARE @date datetime2 = '2000-01-01';
SELECT LEFT(CONVERT(varchar, @date, 100), 3) AS 'LEFT/CONVERT';

Hasil:

LEFT/CONVERT
------------
Jan         

Dalam contoh ini, 100 argumen menata tanggal sehingga dalam format berikut:mon dd yyyy hh:miAM (atau PM) . Jadi dalam kasus kami, tanggalnya ditata sebagai 1 Jan 2000 12:00AM .

Dari sana, tinggal memotong tiga huruf pertama dengan LEFT() fungsi.

Fungsi LEFT() dan MONTHNAME()

Opsi ini menggunakan MONTHNAME() Fungsi skalar ODBC untuk mengembalikan nama bulan. Dan seperti dua contoh sebelumnya, kita cukup mengekstrak tiga huruf pertama dari nama bulan itu.

Contoh:

DECLARE @date datetime2 = '2000-01-01';
SELECT LEFT({fn MONTHNAME(@date)}, 3) AS 'LEFT/MONTHNAME';

Hasil:

LEFT/MONTHNAME
--------------
Jan               


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan variabel dalam pernyataan SEPERTI SQL

  2. Tampilan Pertama SQL Server 2022 - 5 Fitur Baru Teratas (Bonus 5 Fitur)

  3. Mengapa saya mendapatkan kesalahan tipe data Xml tidak didukung dalam kueri terdistribusi saat menanyakan server tertaut untuk data non-xml?

  4. Apa tujuan menggunakan OPTION(MAXDOP 1) di SQL Server?

  5. Kinerja Query SQL Server 2005