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

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

Di SQL Server,  Anda dapat menggunakan DAY() berfungsi untuk mengembalikan bagian "hari" dari suatu tanggal. Fungsi ini mengembalikan bilangan bulat yang mewakili hari dalam sebulan (bukan hari dalam seminggu).

Di bawah ini adalah contoh cara menggunakan fungsi ini.

Sintaks

Sintaksnya seperti ini:

DAY ( 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',
   DAY(SYSDATETIME()) AS 'Day';

Hasil:

+-----------------------------+-------+
| Date                        | Day   |
|-----------------------------+-------|
| 2018-06-18 00:20:22.1284540 | 18    |
+-----------------------------+-------+

Jadi DAY() fungsi dapat mengekstrak hari dari datetime2 nilai (yang dikembalikan oleh SYSDATETIME() fungsi).

Tanggal Disediakan sebagai Literal String

Berikut adalah contoh di mana tanggal diberikan sebagai literal string.

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

Hasil:

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

Dan inilah contoh tanggal yang diberikan dalam format yang berbeda:

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

Hasil:

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

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 DAY('07/01/2017') AS Result;

Hasil:

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

us_English

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

Hasil:

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

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 DAY('07/01/2017') AS Result;

Hasil:

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

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 DAY('07/01/2017') AS Result;

Hasil:

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

Kembalikan Nama Hari

Jika Anda perlu mengembalikan nama hari (sebagai lawan dari nomor hari), lihat 3 Cara Mendapatkan Nama Hari 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. Menemukan urutan simpul dalam dokumen XML di SQL Server

  2. Dapatkan semua nama tabel dari database tertentu dengan kueri SQL?

  3. cara menemukan ukuran baris dalam tabel

  4. Koneksi JDBC gagal, kesalahan:koneksi TCP/IP ke host gagal

  5. SQLServer vs StateServer untuk Kinerja Status Sesi ASP.NET