Rumah > pangkalan data > tutorial mysql > hari pertanyaan mysql

hari pertanyaan mysql

王林
Lepaskan: 2023-05-23 14:18:08
asal
2682 orang telah melayarinya

MySQL Query Days

Dalam pembangunan pangkalan data, selalunya perlu untuk menanyakan perbezaan masa dan tarikh, seperti mengira bilangan hari, jam, minit, dll. antara dua tarikh. MySQL menyediakan beberapa fungsi untuk melaksanakan fungsi ini, yang boleh mengira perbezaan antara masa dan tarikh dengan mudah.

1. Fungsi DATEDIFF

Fungsi DATEDIFF mengembalikan perbezaan hari antara dua tarikh. Sintaks adalah seperti berikut:

DATEDIFF(date1,date2)
Salin selepas log masuk

di mana date1 dan date2 ialah dua tarikh atau nilai datetime, dan fungsi mengembalikan perbezaan hari antara dua tarikh. Jika tarikh1 lewat daripada tarikh2, nilai pulangan adalah positif, jika tidak nilai pulangan adalah negatif.

Contohnya:

SELECT DATEDIFF('2019-01-03','2018-12-31'); // 输出3
Salin selepas log masuk

Soal perbezaan hari pendaftaran pengguna dalam dua jadual:

SELECT DATEDIFF(reg_time,now()) AS days FROM user;
Salin selepas log masuk

2. Fungsi TIMESTAMPDIFF

Fungsi TIMESTAMPDIFF mengembalikan dua tarikh perbezaan masa antara. Sintaksnya adalah seperti berikut:

TIMESTAMPDIFF(unit,start,stop)
Salin selepas log masuk

di mana unit mewakili unit untuk mengira perbezaan masa, yang boleh menjadi saat (KEDUA), minit (MINIT), jam (JAM), hari (HARI), minggu (MINGGU). ), bulan (BULAN) ) atau tahun (TAHUN).

mula dan berhenti mewakili tarikh mula dan tarikh tamat, yang boleh menjadi nilai tarikh atau masa tarikh. Fungsi mengembalikan perbezaan masa antara dua tarikh dalam unit. Jika mula lewat daripada berhenti, nilai pulangan adalah positif, jika tidak nilai pulangan adalah negatif.

Contohnya:

SELECT TIMESTAMPDIFF(MONTH,'2018-02-28','2018-03-31'); // 输出1
Salin selepas log masuk

Tanya tempoh pendaftaran pengguna:

SELECT TIMESTAMPDIFF(DAY,reg_time,now()) AS days FROM user;
Salin selepas log masuk

3 fungsi TIMEDIFF

Fungsi TIMEDIFF mengembalikan perbezaan masa antara dua kali , fungsi TIMEDIFF. format ialah hh:mm:ss. Sintaks adalah seperti berikut:

TIMEDIFF(time1, time2)
Salin selepas log masuk

di mana masa1 dan masa2 ialah nilai masa atau tarikh masa, dan fungsi mengembalikan perbezaan masa antara masa1 dan masa2.

Contohnya:

SELECT TIMEDIFF('18:30:00', '17:00:00'); // 输出01:30:00
Salin selepas log masuk

Soal masa penghantaran pesanan:

SELECT TIMEDIFF(end_time,start_time) AS duration FROM order WHERE order_id=123;
Salin selepas log masuk

4 fungsi TIME_TO_SEC dan fungsi SEC_TO_TIME

Fungsi TIME_TO_SEC menukar nilai masa. ke dalam Saat, sintaksnya adalah seperti berikut:

TIME_TO_SEC(time)
Salin selepas log masuk

di mana masa ialah nilai masa atau tarikh masa, dan fungsi mengembalikan jumlah saat masa.

Fungsi SEC_TO_TIME menukar saat kepada nilai masa Sintaks adalah seperti berikut:

SEC_TO_TIME(seconds)
Salin selepas log masuk

di mana saat mewakili bilangan saat dan fungsi mengembalikan nilai masa yang sepadan.

Contohnya:

SELECT TIME_TO_SEC('01:30:00'); // 输出5400
SELECT SEC_TO_TIME(5400); // 输出01:30:00
Salin selepas log masuk

5. Ringkasan

MySQL menyediakan berbilang fungsi untuk mengira perbezaan masa dan tarikh, yang boleh dipilih secara fleksibel dan digunakan mengikut keperluan. Dalam pembangunan sebenar, kaedah pengiraan yang sesuai harus dipilih berdasarkan keperluan perniagaan tertentu untuk melaksanakan fungsi dengan lebih baik.

Atas ialah kandungan terperinci hari pertanyaan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan