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

Konversi Nama Bulan ke Nomor Bulan di SQL Server (T-SQL)

Di SQL Server, Anda dapat menggunakan MONTH() berfungsi untuk mengubah nama bulan menjadi nomor yang sesuai.

Contoh

Berikut adalah contoh mengubah nama bulan menjadi nomor bulan.

SELECT MONTH('September' + '1,1');

Hasil:

9

Apa yang saya lakukan di sini pada dasarnya adalah membuat "tanggal" (termasuk bulan yang saya tentukan) sehingga SQL Server tidak membuat kesalahan saat menggunakan MONTH() fungsi tanpa tanggal yang valid.

Fungsi ini menerima ekspresi apa pun yang dapat diselesaikan ke waktu , tanggal , waktu kecil , waktu tanggal , datetime2 , atau datetimeoffset nilai. Itu bisa berupa ekspresi, ekspresi kolom, variabel yang ditentukan pengguna, atau literal string.

Lebih Banyak “Suka Tanggal”

Anda juga dapat memberikan argumen yang lebih “seperti kencan” dengan melakukan sesuatu seperti ini:

SELECT MONTH('September' + ' 01, 1900');

Hasil:

9

Hari &Tahun Ini

Atau jika Anda lebih suka menggunakan hari dan tahun saat ini, Anda dapat melakukan sesuatu seperti ini:

SELECT MONTH('September' + FORMAT(GETDATE(), 'd,y'));

Hasil:

9

Untuk memperjelas, kecuali jika bulan yang ditentukan sama dengan bulan saat ini, Anda akan mendapatkan tanggal yang berbeda dari tanggal saat ini.

Berikut ini contoh untuk menggambarkan apa yang saya maksud:

SELECT 
  FORMAT(GETDATE(), 'MMMM d, yyyy') AS [Today],
  'September' + FORMAT(GETDATE(), ' d, yyyy') AS [Modified],
  MONTH('September' + FORMAT(GETDATE(), ' d, yyyy')) AS [Month Number];

Hasil:

 +----------------+--------------------+----------------+
 | Today          | Modified           | Month Number   |
 |----------------+--------------------+----------------|
 | March 22, 2020 | September 22, 2020 | 9              |
 +----------------+--------------------+----------------+ 

Saya menjalankan kueri ini pada 22 Maret 2020, tetapi tanggal yang diubah adalah 22 September 2020.

Terlepas dari itu, nomor bulan yang benar dikembalikan ketika kami menggunakan MONTH() .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HAS_DBACCESS() – Temukan apakah Pengguna Dapat Mengakses Database di SQL Server

  2. Kebiasaan Buruk:Menghindari NULL di SQL Server

  3. Tidak ada kunci utama atau kandidat dalam tabel referensi yang cocok dengan daftar kolom referensi di kunci asing

  4. Dapatkan baris di mana kolom datetime =hari ini - SQL server noob

  5. Cara Menyertakan Hasil yang Mengikat untuk Tempat Terakhir saat Menggunakan Klausa TOP di SQL Server