Apabila menggunakan pangkalan data MySQL, pemprosesan tarikh dan penukaran sering dilakukan, yang sering digunakan dalam statistik data, analisis dan paparan. Oleh itu, adalah sangat penting bagi pembangun dan pentadbir pangkalan data untuk mahir dalam kaedah penukaran tarikh MySQL.
MySQL menyediakan fungsi tarikh kaya dan sintaks untuk menukar tarikh dan masa dengan mudah ke dalam format dan rentetan yang berbeza. Artikel ini akan menumpukan pada sintaks dan contoh penukaran tarikh MySQL, dan menyediakan beberapa senario dan teknik aplikasi biasa.
Format tarikh
Dalam MySQL, tarikh dan masa disimpan dalam format lalai. Format tarikh lalai ialah YYYY-MM-DD dan format masa ialah HH:MM:SS. Anda boleh menggunakan fungsi DATE_FORMAT() untuk menukar tarikh dan masa kepada rentetan dalam pelbagai format.
Jadual berikut menyenaraikan pilihan format tarikh MySQL:
格式(Format) | 说明 |
---|---|
%Y | 四位数字的年份 |
%y | 两位数字的年份 |
%m | 两位数字的月份 |
%c | 两位数字的月份,不带前导零 |
%d | 两位数字的日子 |
%e | 日期,没有前导零 |
%H | 小时(00-23) |
%h | 小时(01-12) |
%i | 两位数字的分钟数 |
%s | 两位数字的秒数 |
%p | "AM" 或 "PM" |
%W | 星期的完整名称 |
%a | 星期的缩写 |
%M | 月份的完整名称 |
%b | 月份的缩写 |
%j | 一年中的天数(0-366) |
%U | 一年中的周数(从星期日算起) |
%u | 一年中的周数(从星期一算起) |
%X | 年份的完整数字,如果是周日为新的一年的第一天,新的一年将从前一年的最后一个周六开始 |
%V | 一年中的周数(从周一算起),如果这一周是下一年的一部分,那么这一周将算作新的一年的第一周。 |
Fungsi tarikh
MySQL menyediakan banyak fungsi tarikh, yang boleh digunakan untuk penukaran format, pertanyaan dan pengiraan tarikh dan masa. Di bawah disenaraikan beberapa fungsi tarikh biasa dan penerangannya.
NOW() fungsi mengembalikan tarikh dan masa semasa. Ia boleh digunakan untuk menambah cap masa pada medan dalam jadual data.
Sintaks:
SELECT NOW();
Hasil:
2022-01-01 16:12:07
DATE_FORMAT() fungsi boleh menukar tarikh dan masa kepada yang ditentukan format.
Sintaks:
SELECT DATE_FORMAT(date,format);
Contoh:
SELECT DATE_FORMAT('2022-01-01 16:25:30','%m/%d/%Y %h:%i:%s %p');
Keputusan:
01/01/2022 04:25:30 PM
DATE( ) fungsi mengembalikan bahagian tarikh nilai tarikh.
Sintaks:
SELECT DATE(date);
Contoh:
SELECT DATE('2022-01-01 16:30:00');
Hasil:
2022-01-01
DAY( ) fungsi mengembalikan bilangan hari dalam bahagian tarikh tarikh tertentu.
Sintaks:
SELECT DAY(date);
Contoh:
SELECT DAY('2022-01-01 16:30:00');
Keputusan:
01
MONTH( ) fungsi mengembalikan bulan tarikh tertentu.
Sintaks:
SELECT MONTH(date);
Contoh:
SELECT MONTH('2022-01-01 16:30:00');
Keputusan:
01
TAHUN( ) fungsi mengembalikan tahun tarikh tertentu.
Sintaks:
SELECT YEAR(date);
Contoh:
SELECT YEAR('2022-01-01 16:30:00');
Hasil:
2022
DATE_ADD ) fungsi digunakan untuk menambah nilai tarikh dan masa.
Sintaks:
SELECT DATE_ADD(date, INTERVAL value unit);
Contoh:
SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH);
Keputusan:
2022-02-01
DATEDIFF( ) fungsi mengira bilangan hari antara dua tarikh.
Sintaks:
SELECT DATEDIFF(date1,date2);
Contoh:
SELECT DATEDIFF('2022-01-01','2021-12-31');
Keputusan:
1
STR_TO_DATE(>STR_TO_DATE(>STR_TO_DATE(>STR_TO_DATE ) fungsi menukar rentetan kepada format tarikh.
Sintaks:
SELECT STR_TO_DATE(str, format);
Contoh:
SELECT STR_TO_DATE('20220101','%Y%m%d');
Hasil:
2022-01-01
TIME( ) fungsi mengembalikan bahagian masa nilai tarikh/masa.
Sintaks:
SELECT TIME(datetime);
Contoh:
SELECT TIME('2022-01-01 16:45:30');
Hasil:
16:45:30
Kemahiran penukaran tarikh
Kuasai sintaks dan fungsi tarikh MySQL penukaran Ia sangat penting, tetapi ia perlu digunakan secara fleksibel dalam projek sebenar. Berikut ialah beberapa teknik penukaran tarikh biasa.
Dalam MySQL, anda boleh menggunakan fungsi seperti DATE_DIFF(), DATEDIFF(), TO_DAYS() untuk mengira perbezaan antara dua tarikh perbezaan antara. Sebagai contoh, hitung bilangan hari antara dua tarikh:
SELECT DATEDIFF('2022-01-02','2021-12-31') AS days;
Keputusan:
2
Jika dalam pangkalan data Medan disimpan sebagai cap masa, yang boleh ditukar kepada format tarikh menggunakan fungsi FROM_UNIXTIME().
SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp),'%Y-%m-%d %H:%i:%s') AS date FROM tableName;
Jika anda perlu menukar format tarikh dalam MySQL kepada cap waktu UNIX, anda boleh menggunakan fungsi UNIX_TIMESTAMP() dalam pernyataan pertanyaan .
SELECT UNIX_TIMESTAMP('2022-01-01 17:00:00') AS timestamp;
Keputusan:
1641054000
Gunakan fungsi DATE_FORMAT() untuk memaparkan bulan dan tahun semasa dengan mudah.
SELECT DATE_FORMAT(NOW(),'%Y年%m月') AS month;
Hasil:
2022年01月
Ringkasan
Penukaran tarikh MySQL sangat penting untuk pembangun dan pentadbir pangkalan data. Artikel ini memperkenalkan fungsi tarikh biasa dan sintaks, serta beberapa senario dan teknik aplikasi biasa. Dalam projek sebenar, ia perlu digunakan secara fleksibel mengikut situasi tertentu untuk mencapai format dan kesan tarikh terbaik.
Atas ialah kandungan terperinci penukaran tarikh mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!