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

Format tanggal MySQL – apa yang perlu Anda ketahui

MySQL berasal dari 'My'- putri salah satu pendiri dan SQL- Structured Query Language. Ini adalah jenis sumber terbuka dari sistem manajemen basis data relasional. Sistem basis data relasional ini membantu mengatur data ke dalam tabel yang dapat dihubungkan, sehingga memungkinkan hubungan struktural dari kumpulan data yang berbeda.

Tanggal MySQL adalah salah satu tipe data temporal yang dapat mengelola nilai data bersama tipe data lainnya seperti tipe data numerik, tipe data String, tipe data Boolean, tanggal dan waktu, dan tipe data spasial.

Fungsi DATE_FORMAT() digunakan di MySQL untuk memformat tanggal menggunakan nilai format yang ditentukan. Misalnya, jika tanggal diberikan, fungsi akan memformatnya berdasarkan parameter yang ditentukan.

Sintaks format tanggal MySQL

DATE_FORMAT(tanggal, format)

Fungsi sintaks di atas menerima dua parameter seperti yang ditunjukkan di bawah ini:

  • tanggal – Ini menentukan tanggal yang akan diformat
  • format – Ini mendefinisikan format yang akan digunakan untuk memformat tanggal

Di bawah ini adalah daftar format yang harus Anda pahami saat berurusan dengan fungsi tanggal.

  • %a – format ini menampilkan nama hari kerja. terbatas dari hari Minggu sampai Sabtu.
  • %b – simbol format ini menunjukkan nama bulan. itu dibatasi dari Januari hingga Desember.
  • %c – simbol format ini menunjukkan nama bulan numerik. dibatasi dari 0 hingga 12
  • %D – simbol format ini menunjukkan nilai numerik hari dalam bulan yang diikuti dengan akhiran seperti tanggal 1 atau 2.
  • %e – simbol format ini menunjukkan nilai numerik hari dalam sebulan. dibatasi dari 0 hingga 31
  • %f – simbol format ini menunjukkan mikrodetik. terbatas dari 000000 hingga 999999.
  • %H – simbol format ini menunjukkan jam. Terbatas dari 00 hingga 23.
  • %i – simbol format ini menunjukkan menit. dibatasi dari 00 hingga 59.
  • %j – simbol format ini menunjukkan hari dalam setahun. dibatasi dari 001 hingga 366.
  • %M – simbol format ini menunjukkan nama bulan. terbatas dari Januari hingga Desember
  • %p – simbol format ini menunjukkan PM atau AM
  • %S – simbol format ini menunjukkan detik. terbatas dari 00 hingga 59
  • %U – simbol format ini menunjukkan hari kerja di mana hari Minggu adalah hari pertama. Terbatas dari 00 hingga 53.
  • %W – simbol format ini menunjukkan hari kerja dari Minggu hingga Sabtu
  • %Y – simbol format ini menunjukkan nilai numerik tahun sebagai angka 4 digit

Format yang tercantum di atas mengembalikan tanggal yang diformat.

Contoh 1: 

Untuk mengekstrak atau menampilkan tahun dari tanggal saat ini, kita akan menjalankan baris perintah berikut:

PILIH DATE_FORMAT("2021-09-25", "%Y");
Keluaran:
Contoh 2:

Ekstrak  nama bulan dari tanggal tertentu seperti yang ditunjukkan di bawah ini:

2021-09-25

SELECT DATE_FORMAT("25-09-2021", "%M");
Keluaran:
Contoh 3:

Ekstrak jam dan menit dari tanggal yang disediakan di bawah ini:

2021-09-25

SELECT DATE_FORMAT("25-09-2021 10:20:23", "%H %i");
Keluaran:
Contoh 4: 

Ekstrak hari dalam sebulan secara numerik dari tanggal yang ditentukan di bawah ini:

2021-09-25

PILIH DATE_FORMAT("2021-09-25", "%D");
Keluaran:
Contoh 5:

Ekstrak bulan, hari, dan tahun masing-masing dari tanggal yang disediakan di sini:

2021-09-25

SELECT DATE_FORMAT("25-09-2021", "%M %d %Y");
Keluaran:

Tanggal MySQL menggunakan format; yyyy-mm-dd untuk menyimpan nilai data, dan format ini biasanya diperbaiki tanpa izin untuk mengubahnya sama sekali. Untuk persyaratan penyimpanan MySQL, untuk menyimpan satu nilai tanggal, itu akan menggunakan sekitar 3 byte dan memiliki nilai tanggal mulai dari 1000-01-01 hingga 9999-12-31. Oleh karena itu, pengguna yang perlu menyimpan rentang tanggal dari parameter ini hanya dapat dilakukan melalui bilangan bulat. Namun, proses ini cukup melelahkan, dan Anda harus membuat tiga kolom, satu untuk tahun, satu lagi untuk bulan, dan yang terakhir untuk hari itu.

Ini sering tidak disarankan untuk dicoba pada sebagian besar kesempatan jika Anda ingin mengubah format tanggal. Menonaktifkan 'mode ketat' akan membantu mengonversi tanggal yang tidak valid menjadi 'nilai tanggal nol'. Tanggal yang tidak valid dalam hal ini tidak akan mengikuti format tanggal standar MySQL, misalnya, 24-01-2020. Ini juga akan menciptakan kebutuhan untuk mengembangkan 'fungsi tersimpan', yang akan mereproduksi fungsi tanggal MySQL yang baru dibuat.

Nilai tanggal MySQL dengan tahun 2 digit

MySQL hanya akan menerima nilai tahun dua digit dengan ketentuan sebagai berikut:

  1. Nilai tahun antara 00-69 dikonversi ke 2000-2069
  2. Nilai tahun antara 70-79 dikonversi ke 1970-1999

Namun, disarankan untuk menghindari penggunaan nilai tanggal dengan dua digit karena ambigu.
Berikut adalah contohnya. Tabel dibuat dengan nama 'orang' dan memiliki kolom 'tipe data':

BUAT TABEL JIKA TIDAK ADA orang ( JOB_ID integer NOT NULL UNIQUE PRIMARY KEY, JOB_TITLE varchar(35) NOT NULL DEFAULT '' , MIN_SALARY desimal(6,0) DEFAULT 8000, MAX_SALARY desimal(6,0) DEFAULT NULL)ENGINE =InnoDB;

Fungsi berikut akan 'menyisipkan baris' ke dalam tabel 'orang':

MASUKKAN KE orang(JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY)
VALUES('5', 'Foss', '2000', '2000');

Sekarang 'Kueri data' dari tabel 'orang'

PILIH * DARI orang;

Setelah menjalankan perintah di atas, sekarang dimungkinkan untuk menggunakan opsi format tahun 2 digit untuk memasukkan data ke tabel 'orang':

INSERT INTO people(JOB_ID,JOB_TITLE,MIN_SALARY,MAX_SALARY,BIRTH)
VALUES('6', 'FOSSLINUX', '200', '2000', '01-09-01');

'01' telah digunakan di baris pertama sebagai tahun, berada di antara (kisaran 00-69). MySQL kemudian akan mengubahnya menjadi 2001, sedangkan pada baris kedua, penggunaan '84' ​​berada di kisaran (70-99), dan MySQL mengubahnya menjadi 1984.

Fungsi tanggal MySQL

MySQL sering menyediakan dan menggunakan beberapa fungsi tanggal, yang membantu pengguna memanipulasi data mereka dengan lebih efektif dan cepat.
Misalnya, menggunakan fungsi 'SEKARANG ( )' membantu mengambil tanggal dan waktu saat ini:

PILIH SEKARANG();

Untuk mendapatkan hanya bagian tanggal dari 'DATETIME,' gunakan hanya fungsi 'DATE()':

PILIH TANGGAL(SEKARANG( ) );

Untuk mendapatkan tanggal sistem saat ini, gunakan CURDATE ( ):

PILIH CURDATE();

Fungsi 'DATE_FORMAT' dapat digunakan untuk memformat nilai tanggal ke format ini; mm/hh/tttt. Ini menggunakan pola format tanggal %m/%d/%Y

SELECT DATE_FORMAT('2021-09-25 22:23:00', '%W %D %M %Y');

Jika Anda ingin menghitung jumlah hari di antara dua nilai tanggal, gunakan fungsi 'DATEDIFF':

mysql> SELECT DATEDIFF('2020-09-25', '2021-09-25') hari;

Menggunakan fungsi 'DATE_ADD' membantu seseorang menambahkan beberapa tahun, bulan, minggu, atau hari:

SELECT DATE_ADD('2021-09-25', INTERVAL 31 HARI);

Fungsi 'DATE_SUB' juga dapat digunakan untuk mengurangi interval tanggal:

SELECT DATE_SUB("2021-09-25", INTERVAL 10 HARI);

Menggunakan fungsi yang sesuai dalam hal tanggal, bulan, Triwulan dan Tahun akan membantu Anda mendapatkan hari, bulan, dan sebagainya yang tepat untuk nilai tanggal seperti yang ditunjukkan di bawah ini:

PILIH HARI('2000-12-31') hari,
BULAN( '2000-12-31') bulan
KUARTA ('2000-12-31') triwulan,
TAHUN('2000-12-31') tahun

Hari bulan kuartal tahun
31 12 4 2000ǀ

Informasi mingguan dari fungsi terkait dapat diakses melalui:

PILIH
WEEKDAY('2000-12-31') hari kerja,
WEEK( '2000-12-31') minggu,
WEEKOFTHEYEAR('2000-12-31') minggutahun;

hari kerja minggu minggutahun ǀ
6 53 52

Fungsi minggu selalu mengembalikan nomor minggu yang memiliki indeks berbasis nol. Anda harus memberikan argumen kedua atau memberikan '0' untuk mencegah hal ini terjadi. Melewati '1' akan mengembalikan nomor minggu '1-diindeks'.

WEEKDAY('2000-12-31') hari kerja,
WEEK( '2000-12-31', 1) minggu,
WEEKOFTHEYEAR('2000-12-31') minggu dalam setahun;

hari kerja minggu minggutahun ǀ
6 52 52

Kesimpulan

Ini adalah artikel tutorial singkat yang mencakup format tanggal subjek MySQL. Kami berharap semua aspek yang ingin Anda pahami tentang format tanggal MySQL telah tercakup. Ingatlah untuk memberikan jempol melalui bagian komentar jika Anda merasa artikel ini bermanfaat.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mac OS X - EnvironmentError:mysql_config tidak ditemukan

  2. MySQL versus MariaDB

  3. ScaleGrid DBaaS Memperluas Layanan Hosting MySQL Melalui AWS Cloud

  4. Apa Nama Batasan Default di MySQL?

  5. Laravel:terhubung ke database secara dinamis