MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara Mendapatkan Hari, Bulan, dan Tahun dari Tanggal di SQL

Sebagian besar RDBMS utama memiliki fungsi yang memungkinkan kita untuk mengekstrak hari, bulan, dan tahun dari nilai datetime.

Beberapa RDBMS menyediakan banyak cara untuk melakukan ini, dan yang lainnya lebih terbatas. Di bawah ini adalah contoh ekstraksi hari, bulan, dan tahun dari nilai tanggal di beberapa RDBMS paling populer.

MySQL

MySQL memiliki beberapa fungsi yang dapat digunakan untuk mengekstrak hari, bulan, dan tahun dari sebuah tanggal. Salah satunya adalah EXTRACT() fungsi:

SELECT 
    EXTRACT(DAY FROM '2035-12-19') AS Day,
    EXTRACT(MONTH FROM '2035-12-19') AS Month,
    EXTRACT(YEAR FROM '2035-12-19') AS Year;

Hasil:

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
|   19 |    12 | 2035 |
+------+-------+------+

Dalam hal ini, saya mengekstrak setiap bagian tanggal ke bidangnya sendiri.

Jika Anda ingin semua bagian tanggal dikembalikan dalam bidang yang sama, DATE_FORMAT() fungsi dapat melakukan ini untuk Anda.

MySQL juga memiliki banyak fungsi yang mengembalikan bagian tanggal tertentu dari suatu tanggal, seperti DAY() , MONTH() , YEAR() , dll.

Lihat Mengembalikan Hari, Bulan, dan Tahun di MySQL untuk contoh lainnya.

Oracle

Oracle memiliki TO_CHAR() fungsi yang dapat digunakan untuk mengekstrak bagian tanggal di bidangnya sendiri, atau semua dalam satu bidang. Berikut ini contoh mengembalikannya di masing-masing bidang:

SELECT 
    TO_CHAR(DATE '2035-09-26', 'Day') AS Day,
    TO_CHAR(DATE '2035-09-26', 'DD') AS DD,
    TO_CHAR(DATE '2035-09-26', 'Month') AS Month,
    TO_CHAR(DATE '2035-09-26', 'YYYY') AS Year
FROM DUAL;

Hasil:

         DAY    DD        MONTH    YEAR 
____________ _____ ____________ _______ 
Wednesday    26    September    2035    

Lihat Daftar Lengkap Elemen Format Datetime ini di Oracle untuk daftar elemen format yang dapat digunakan untuk memformat nilai datetime dengan fungsi ini.

Oracle juga memiliki EXTRACT() fungsi yang bekerja seperti fungsi MySQL dengan nama yang sama.

SQL Server

SQL Server memiliki cukup banyak fungsi yang dapat mengembalikan bagian tanggal seperti hari, bulan, dan tahun.

DATEPART() fungsi dirancang khusus untuk mengembalikan bagian tertentu dari tanggal:

DECLARE @date date = '2045-07-03'; 
SELECT 
    DATEPART(day, @date) AS DAY, 
    DATEPART(weekday, @date) AS WEEKDAY, 
    DATEPART(month, @date) AS MONTH, 
    DATEPART(year, @date) AS YEAR;

Hasil:

+-------+-----------+---------+--------+
| DAY   | WEEKDAY   | MONTH   | YEAR   |
|-------+-----------+---------+--------|
| 3     | 2         | 7       | 2045   |
+-------+-----------+---------+--------+

Fungsi serupa adalah DATENAME() , yang dapat mengembalikan nama hari dan bulan sebagai string.

SQL Server juga memiliki fungsi seperti DAY() , MONTH() , YEAR() , dll yang mengembalikan bagian tanggal tertentu.

Dan jangan lupa FORMAT() fungsi, yang sempurna jika Anda ingin mengembalikan semua bagian tanggal di bidang yang sama.

Lihat 6 Fungsi untuk Mendapatkan Hari, Bulan, dan Tahun dari Tanggal di SQL Server untuk contoh lebih lanjut.

PostgreSQL

PostgreSQL memiliki beberapa fungsi yang dapat mengembalikan bagian tanggal dari tanggal.

Berikut ini contoh DATE_PART() fungsi:

SELECT 
    DATE_PART('DAY', date '2035-10-30') AS "Day",
    DATE_PART('DOW', date '2035-10-30') AS "DOW",
    DATE_PART('DOY', date '2035-10-30') AS "DOY",
    DATE_PART('MONTH', date '2035-10-30') AS "Month",
    DATE_PART('YEAR', date '2035-10-30') AS "Year";

Hasil:

 Day | DOW | DOY | Month | Year 
-----+-----+-----+-------+------
  30 |   2 | 303 |    10 | 2035

PostgreSQL juga memiliki EXTRACT() fungsi yang pada dasarnya melakukan hal yang sama, kecuali dengan sintaks yang sedikit berbeda.

Dan TO_CHAR() fungsi dapat digunakan jika Anda ingin mengembalikan beberapa bagian tanggal di bidang yang sama.

SQLite

SQLite lebih terbatas dalam hal fungsi tanggal dan waktu. Namun, Anda masih dapat menggunakan STRFTIME() fungsi untuk mengekstrak hari, bulan, dan tahun dari suatu tanggal:

SELECT STRFTIME('%d %m %Y', '2035-12-01');

Hasil:

01 12 2035

Dalam contoh ini, saya telah mengembalikan semua bagian tanggal di bidang yang sama. Tapi ini belum tentu diperlukan. Jika Anda ingin mereka dikembalikan di bidang yang berbeda, Anda dapat memanggil STRFTIME() beberapa kali, masing-masing dengan elemen format yang berbeda:

SELECT 
    strftime('%d', '2035-12-01') AS "Day",
    strftime('%m', '2035-12-01') AS "Month",
    strftime('%Y', '2035-12-01') AS "Year";

Hasil:

Day  Month  Year
---  -----  ----
01   12     2035

MariaDB

MariaDB menyediakan banyak pilihan fungsi yang dapat mengembalikan hari, bulan, dan tahun dari nilai datetime.

Berikut ini contoh DATE_FORMAT() fungsi:

SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

Hasil:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%W, %D %M %Y') |
+-------------------------------------------+
| Tuesday, 25th July 2023                   |
+-------------------------------------------+

Fungsi tersebut memungkinkan kami untuk mengembalikan semua bagian tanggal dalam satu bidang (walaupun ini tidak diperlukan – Anda dapat dengan mudah mengembalikan setiap bagian tanggal dalam bidang yang berbeda dengan memanggil DATE_FORMAT() beberapa kali, setiap kali dengan format string yang berbeda).

Dan seperti yang lainnya, MariaDB juga memiliki EXTRACT() fungsi yang mengekstrak bagian tanggal tertentu.

Dan ada juga berbagai macam fungsi khusus untuk setiap bagian tanggal, seperti DAY() , MONTH() , YEAR() , dll

Lihat 11 Fungsi untuk Mendapatkan Hari, Bulan, dan Tahun dari Tanggal di MariaDB untuk ikhtisar lengkap.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pengantar Morphia – Java ODM untuk MongoDB

  2. Menanyakan objek yang disematkan di Mongoid/rails 3 (Lebih rendah dari, operator Min, dan pengurutan)

  3. MongoDB $tan

  4. Permintaan untuk dokumen di mana ukuran array lebih besar dari 1

  5. Bagaimana cara memulai Mongo DB dari Windows?