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

MONTH() Contoh di SQL Server (T-SQL)

Di SQL Server,  Anda dapat menggunakan MONTH() berfungsi untuk mengembalikan bagian "bulan" dari suatu tanggal. Ini dikembalikan sebagai bilangan bulat (bukan nama bulan).

Di bawah ini adalah contoh cara menggunakan fungsi ini.

Sintaks

Sintaksnya seperti ini:

MONTH ( date )

Dimana date adalah ekspresi yang diselesaikan ke salah satu tipe data berikut:

  • tanggal
  • waktu kencan
  • offset tanggal-waktu
  • datetime2
  • waktu kecil
  • waktu

Ini bisa berupa ekspresi kolom, ekspresi, string literal, atau variabel yang ditentukan pengguna.

Contoh

Berikut adalah contoh dasar cara kerjanya:

SELECT 
   SYSDATETIME() AS 'Date',
   MONTH(SYSDATETIME()) AS 'Month';

Hasil:

+-----------------------------+---------+
| Date                        | Month   |
|-----------------------------+---------|
| 2018-06-18 00:39:06.7954314 | 6       |
+-----------------------------+---------+

Jadi MONTH() fungsi dapat mengekstrak bulan dari datetime2 nilai (yang dikembalikan oleh SYSDATETIME() fungsi).

Tanggal Disediakan sebagai Literal String

Berikut adalah contoh di mana tanggal diberikan sebagai literal string.

SELECT MONTH('2019-01-07') AS Result;

Hasil:

+----------+
| Result   |
|----------|
| 1        |
+----------+

Dan inilah contoh tanggal yang diberikan dalam format yang berbeda:

SELECT MONTH('07/01/2017') AS Result;

Hasil:

+----------+
| Result   |
|----------|
| 7        |
+----------+

Namun, biasanya yang terbaik adalah menghindari penggunaan tanggal dalam format seperti itu. Jika Anda harus melakukannya, Anda harus memperhatikan setelan bahasa dan/atau setelan format tanggal sesi saat ini.

Setelan Bahasa

Output dari contoh sebelumnya akan bergantung pada pengaturan bahasa dan/atau pengaturan format tanggal dari sesi saat ini.

Saat kami menyetel bahasa, format tanggal secara implisit disetel pada waktu yang sama.

Inilah yang terjadi jika kami memberikan argumen tanggal yang sama dalam dua lingkungan bahasa yang berbeda.

Inggris

SET LANGUAGE British;
SELECT MONTH('07/01/2017') AS Result;

Hasil:

+----------+
| Result   |
|----------|
| 1        |
+----------+

us_English

SET LANGUAGE us_English;
SELECT MONTH('07/01/2017') AS Result;

Hasil:

+----------+
| Result   |
|----------|
| 7        |
+----------+

Setelan Format Tanggal

Pengaturan format tanggal dapat mengesampingkan pengaturan bahasa, jadi Anda juga perlu mengetahui pengaturan ini. Misalnya, kita bisa menggunakan us_English untuk bahasa kami (yang memiliki format tanggal default mdy ), tetapi kita dapat mengganti format tanggal menjadi dmy .

Ini contohnya:

us_English – Format Tanggal Default

Di sini, kami mengatur bahasa menjadi us_English , yang secara implisit menyetel format tanggal ke myy .

SET LANGUAGE us_English;
SELECT MONTH('07/01/2017') AS Result;

Hasil:

+----------+
| Result   |
|----------|
| 7        |
+----------+

us_English – Ganti Format Tanggal

Di sini, kami mengatur bahasa menjadi us_English (yang secara implisit menyetel format tanggal), tetapi kemudian kami secara eksplisit menyetel format tanggal ke dmy . Ini menggantikan format tanggal yang secara implisit disetel saat kami menyetel bahasa.

SET LANGUAGE us_English;
SET DATEFORMAT dmy;
SELECT MONTH('07/01/2017') AS Result;

Hasil:

+----------+
| Result   |
|----------|
| 1        |
+----------+

Kembalikan Nama Bulan

Jika Anda perlu mengembalikan nama bulan (sebagai lawan dari nomor bulan), lihat 3 Cara Mendapatkan Nama Bulan dari Tanggal 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. Memilih baris pertama per grup

  2. Berikan Akses Pengguna msdb ke Profil Email Database di SQL Server (T-SQL)

  3. Parsing XML ke SQL Server

  4. Sintaks salah di dekat ')' memanggil prosedur tersimpan dengan GETDATE

  5. SQL Server 2008 tidak dapat masuk dengan pengguna yang baru dibuat