Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

EXTRACT() Contoh – MySQL

Di MySQL, Anda dapat menggunakan EXTRACT() berfungsi untuk mengekstrak bagian dari tanggal. Misalnya, Anda dapat mengekstrak bagian tahun, bagian bulan, atau bagian hari, dll. Anda juga dapat mengekstrak bagian dari komponen waktu, seperti menit, detik, mikrodetik, dll.

Artikel ini berisi contoh untuk ditunjukkan.

Sintaks

Sintaksnya seperti ini:

EKSTRAK(unit DARI tanggal)

Dimana unit adalah bagian tanggal yang ingin Anda ekstrak, dan date adalah nilai tanggal untuk mengekstrak bagian itu.

Lihat tabel di bagian bawah artikel ini untuk daftar penentu unit yang valid.

Contoh 1

Berikut adalah contoh untuk mendemonstrasikan penggunaan dasar fungsi.

PILIH EKSTRAK(TAHUN DARI '01-01-2019') SEBAGAI 'Hasil';

Hasil:

+--------+| Hasil |+--------+| 2019 |+--------+

Contoh 2 – Bagian Tanggal Lainnya

Di sini saya mengekstrak berbagai bagian tanggal dari sebuah tanggal.

SET @date ='2019-10-03';PILIH EKSTRAK(HARI DARI @tanggal) SEBAGAI 'Hari', EKSTRAK(BULAN DARI @tanggal) SEBAGAI 'Bulan', EKSTRAK(TAHUN DARI @tanggal) SEBAGAI 'Tahun ';

Hasil:

+------+-------+------+| Hari | Bulan | Tahun |+------+-------+------+| 3 | 10 | 2019 |+------+-------+------+

Contoh 3 – Mengekstrak Bagian Waktu

Di sini saya mengekstrak berbagai bagian waktu dari sebuah tanggal.

SET @date ='2019-10-03 12:35:05.123456';PILIH EKSTRAK(JAM DARI @tanggal) SEBAGAI 'Jam', EKSTRAK(MENIT DARI @tanggal) SEBAGAI 'Menit', EKSTRAK(DETIK DARI @ tanggal) SEBAGAI 'Detik', EKSTRAK(MICROSECOND FROM @date) SEBAGAI 'Mikrodetik';

Hasil:

+-------+--------+--------+-------------+| Jam | Menit | Detik | Mikrodetik |+-------+---------+---------+-------------+| 12 | 35 | 5 | 123456 |+-------+---------+---------+-------------+

Contoh 4 – Menggabungkan Penentu Unit

Anda juga dapat menggabungkan penentu unit, seperti ini:

SET @date ='2019-10-03 12:35:05.123456';SELECT EXTRACT(HOUR_MICROSECOND FROM @date) SEBAGAI 'Hasil';

Hasil:

+-------------+| Hasil |+--------------+| 123505123456 |+--------------+

Contoh ini mengembalikan semuanya mulai dari bagian jam hingga bagian mikrodetik.

Contoh Basis Data

Berikut ini contoh mengekstrak tahun dan bulan dari kolom di database:

GUNAKAN sakila;SELECT payment_date AS 'Date/Time', EXTRACT(YEAR_MONTH FROM payment_date) AS 'Year/Month'FROM paymentWHERE payment_id =1;

Hasil:

+---------------------+------------+| Tanggal/Waktu | Tahun/Bulan |+---------------------+------------+| 2005-05-25 11:30:37 | 200505 |+---------------------+------------+

Tanggal/Waktu Saat Ini

Di sini, saya mengekstrak bagian bulan dari tanggal yang dihasilkan dengan CURDATE() fungsi.

PILIH CURDATE(), EKSTRAK(BULAN DARI CURDATE());

Hasil:

+------------+--------------------------------+| TANGGAL() | EKSTRAK(BULAN DARI CURDATE()) |+------------+--------------------------- ----+| 2018-06-26 | 6 |+------------+-------------------------------+ 

Dalam contoh ini saya mengekstrak bagian jam dari tanggal dan waktu saat ini (yang dihasilkan dengan NOW() fungsi).

PILIH SEKARANG(), EKSTRAK(JAM DARI SEKARANG());

Hasil:

+---------------------+------------------------ --+| SEKARANG() | EKSTRAK(JAM DARI SEKARANG()) |+---------------------+------------------ --------+| 26-06-2018 09:01:46 | 9 |+---------------------+------------------------ -+

Nilai yang Diharapkan

Tabel berikut menunjukkan nilai satuan yang valid dan format yang diharapkan.

unit Nilai expr yang diharapkan Format
MIKROSEKONDA MIKROSEKON
DETIK DETIK
MENIT MENIT
JAM JAM
HARI HARI
MINGGU MINGGU
BULAN BULAN
KUARTA PEREMPAT
TAHUN TAHUN
SECOND_MICROSECOND ‘SECONDS.MICROSECONDS’
MINUTE_MICROSECOND 'MENIT:DETIK.MIKROSEKON'
MINUTE_SECOND 'MENIT:DETIK'
HOUR_MICROSECOND ‘JAM:MENIT:DETIK.MICROSECONDS’
HOUR_SECOND 'JAM:MENIT:DETIK'
HOUR_MINUTE 'JAM:MENIT'
DAY_MICROSECOND 'HARI JAM:MINUTES:SECONDS.MICROSECONDS'
HARI_DETIK 'HARI JAM:MENIT:DETIK'
HARI_MINUTE 'HARI JAM:MENIT'
HARI_JAM 'JAM HARI'
BULAN_TAHUN 'TAHUN-BULAN'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bekerja dengan Kolom MySQL TIMESTAMP di SQL Server

  2. mysql:dapatkan jumlah catatan antara dua tanggal-waktu

  3. MySQL memuat nilai NULL dari data CSV

  4. Di Apache Spark 2.0.0, apakah mungkin mengambil kueri dari database eksternal (daripada mengambil seluruh tabel)?

  5. Memasukkan objek datetime.datetime Python ke MySQL