Apakah jenis yang digunakan untuk hari lahir dalam mysql?
Jenis hari lahir yang tersedia dalam mysql: 1. Jenis DATE, format tarikh yang boleh diwakili ialah "YYYY-MM-DD", yang memerlukan 3 bait untuk penyimpanan 2. Jenis DATETIME, format tarikh yang boleh diwakili Ia ialah "YYYY-MM-DD HH:MM:SS", yang memerlukan 8 bait apabila menyimpan 3. Jenis TIMESTAMP, format tarikh yang boleh dinyatakan ialah "YYYY-MM-DD HH:MM:SS" , apabila menyimpan Memerlukan 4 bait.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Jenis tarikh dan masa sesuai untuk hari lahir dalam MySQL
类型名称 | 日期格式 | 日期范围 | 存储需求 |
---|---|---|---|
DATE | YYYY-MM-DD | 1000-01-01 ~ 9999-12-3 | 3 个字节 |
DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8 个字节 |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | 4 个字节 |
Jenis TARIKH
Jenis TARIKH digunakan apabila hanya nilai tarikh diperlukan, tanpa bahagian masa dan memerlukan 3 bait untuk storan. Format tarikh ialah 'YYYY-MM-DD', di mana YYYY mewakili tahun, MM mewakili bulan dan DD mewakili hari.
Apabila memberikan nilai kepada medan jenis DATE, anda boleh menggunakan jenis rentetan atau sisipan data jenis angka, selagi ia mematuhi format tarikh DATE. Seperti yang ditunjukkan di bawah:
Tarikh yang dinyatakan dalam format aksara 'YYYY-MM-DD' atau 'YYYYMMDD', julat nilai ialah '1000-01-01'~'9999 - 12-3'. Sebagai contoh, masukkan '2015-12-31' atau '20151231', dan tarikh yang dimasukkan ke dalam pangkalan data ialah 2015-12-31.
Mewakili tarikh dalam format rentetan 'YY-MM-DD' atau 'YYMMDD', dengan YY mewakili nilai tahun dua digit. MySQL mentafsir peraturan untuk nilai tahun dua digit: nilai tahun dalam julat '00~69' ditukar kepada '2000~2069', dan nilai tahun dalam julat '70~99' ditukar kepada '1970~1999'. Sebagai contoh, jika anda memasukkan '15-12-31', tarikh yang dimasukkan ke dalam pangkalan data ialah 2015-12-31 jika anda memasukkan '991231', tarikh yang dimasukkan ke dalam pangkalan data ialah 1999-12-31;
Tarikh dinyatakan dalam format angka YYMMDD, serupa dengan yang sebelumnya, nilai tahun dalam julat 00~69 ditukar kepada 2000~2069, dan nilai tahun dalam julat 80~99 ditukar kepada 1980~1999. Sebagai contoh, jika anda memasukkan 151231, tarikh yang dimasukkan ke dalam pangkalan data ialah 2015-12-31, dan jika anda memasukkan 991231, tarikh yang dimasukkan ke dalam pangkalan data ialah 1999-12-31.
Gunakan CURRENT_DATE atau NOW() untuk memasukkan tarikh sistem semasa.
Petua: MySQL membenarkan sintaks "santai": sebarang tanda baca boleh digunakan sebagai pemisah antara bahagian tarikh. Sebagai contoh, '98-11-31', '98.11.31', '98/11/31' dan '98@11@31' adalah setara dan nilai ini akan dimasukkan ke dalam pangkalan data dengan betul.
Jenis DATETIME
Jenis DATETIME digunakan untuk nilai yang perlu mengandungi maklumat tarikh dan masa serta memerlukan 8 bait untuk storan. Format tarikh ialah 'YYYY-MM-DD HH:MM:SS', dengan YYYY mewakili tahun, MM mewakili bulan, DD mewakili hari, HH mewakili jam, MM mewakili minit dan SS mewakili detik.
Apabila memberikan nilai kepada medan jenis DATETIME, anda boleh menggunakan jenis rentetan atau sisipan data jenis angka, selagi ia mematuhi format tarikh DATETIME, seperti ditunjukkan di bawah:
Tarikh dinyatakan dalam format rentetan 'YYYY-MM-DD HH:MM:SS' atau 'YYYYMMDDHHMMSS', julat nilai ialah '1000-01-01 00:00:00'~'9999-12- 3 23 :59:59'. Sebagai contoh, jika anda memasukkan '2014-12-31 05:05:05' atau '20141231050505', nilai DATETIME yang dimasukkan ke dalam pangkalan data ialah 2014-12-31 05:05:05.
Tarikh yang diwakili dalam format rentetan 'YY-MM-DD HH:MM:SS' atau 'YYMMDDHHMMSS', dengan YY mewakili nilai tahun dua digit. Sama seperti sebelumnya, nilai tahun dalam julat '00~79' ditukar kepada '2000~2079', dan nilai tahun dalam julat '80~99' ditukar kepada '1980~1999'. Sebagai contoh, jika anda memasukkan '14-12-31 05:05:05', DATETIME yang dimasukkan ke dalam pangkalan data ialah 2014-12-31 05:05:05 jika anda memasukkan 141231050505, DATETIME yang dimasukkan ke dalam pangkalan data ialah 2014; -12-31 05:05:05 .
Tarikh dan masa dalam format angka YYYYMMDDHHMMSS atau YYMMDDHHMMSS. Sebagai contoh, jika anda memasukkan 20141231050505, DATETIME yang dimasukkan ke dalam pangkalan data ialah 2014-12-31 05:05:05 jika anda memasukkan 140505050505, DATETIME yang dimasukkan ke dalam pangkalan data ialah 2014-12-31:05.
Petua: MySQL membenarkan sintaks "santai": sebarang tanda baca boleh digunakan sebagai pemisah antara bahagian tarikh atau bahagian masa. Contohnya, '98-12-31 11:30:45', '98.12.31 11 30 35', '98/12/31 11*30*45' dan '98@12@31 11^30^45' adalah Setara, nilai-nilai ini boleh dimasukkan dengan betul ke dalam pangkalan data.
Jenis TIMESTAMP
Format paparan TIMESTAMP adalah sama dengan DATETIME, lebar paparan ditetapkan pada 19 aksara dan format tarikh ialah YYYY- MM-DD HH:MM :SS, memerlukan 4 bait untuk storan. Walau bagaimanapun, julat nilai lajur TIMESTAMP adalah lebih kecil daripada julat nilai DATETIME, iaitu '1970-01-01 00:00:01'UTC~'2038-01-19 03:14:07'UTC. Apabila memasukkan data, pastikan ia berada dalam julat nilai yang sah.
Petua: Waktu Sejagat Selaras (Bahasa Inggeris: Waktu Sejagat Selaras, Bahasa Perancis: Temps Universel Coordonné) juga dikenali sebagai Waktu Bersatu Dunia, Waktu Piawai Dunia dan Waktu Selaras Antarabangsa. Singkatan Bahasa Inggeris (CUT) dan Perancis (TUC) adalah berbeza, dan sebagai kompromi, singkatan itu ialah UTC.
TIMESTAMP dan DATETIME, sebagai tambahan kepada bait storan yang berbeza dan julat yang disokong, perbezaan terbesar ialah:
DATETIME Apabila menyimpan data tarikh, Ia disimpan dalam format input sebenar, iaitu, apa sahaja yang dimasukkan disimpan, tanpa mengira zon waktu
Nilai TIMESTAMP disimpan dalam format UTC (Universal Standard Time) dan disimpan dalam format yang betul Tukar kepada zon waktu semasa, dan kemudian tukar kembali ke zon waktu semasa apabila mendapatkan semula. Iaitu, apabila membuat pertanyaan, nilai masa yang dipaparkan adalah berbeza bergantung pada zon waktu semasa.
Petua: Jika anda menetapkan nilai DATE kepada objek DATETIME atau TIMESTAMP, bahagian masa nilai yang terhasil ditetapkan kepada '00:00:00', jadi nilai DATE mengandungi tiada maklumat masa. Jika objek DATE diberikan nilai DATETIME atau TIMESTAMP, bahagian masa nilai yang terhasil akan dialih keluar, jadi nilai DATE tidak mengandungi maklumat masa.
Fungsi masa dan tarikh
Fungsi masa sistem sekarang(), current_timestamp, sysdate ()
Ketiga-tiga fungsi ini semuanya boleh mengembalikan masa sistem untuk melihat perbezaannya Mengakses ketiga-tiga fungsi ini pada masa yang sama akan mendapat hasil yang sama, tetapi biarkan ia menunggu beberapa saat selepas itu, hasilnya berbeza.
Rajah di atas menunjukkan bahawa masa yang dikembalikan oleh sysdate() adalah berbeza daripada sekarang(), current_timestamp, iaitu 2 saat lebih perlahan Sebabnya adalah seperti berikut:
current_timestamp kini adalah Sinonim, kedua-duanya sebenarnya sama; ;
- Fungsi penambahan dan penolakan masa
tarikh_tambah(tarikh, unit expr selang) dan date_sub( tarikh, unit expr selang) masing-masing mewakili peningkatan dan penurunan.
Bagaimana untuk mengendalikan date_add apabila menghadapi bulan lompat, MySQL mengembalikan tarikh 29 Februari jika ia adalah bulan lompat, dan 28 Februari jika ia bukan bulan lompat.select date_add('2017-12-18 22:51:00', interval 1 second), date_add('2017-12-18 22:51:00', interval 1 minute), date_add('2017-12-18 22:51:00', interval 1 hour), date_add('2017-12-18 22:51:00', interval 1 day), date_add('2017-12-18 22:51:00', interval 1 month), date_add('2017-12-18 22:51:00', interval 1 year);
select date_add('2016-02-29 22:51:00', interval -1 year), date_add('2016-02-29 22:51:00', interval 4 year);
2015-02-28 22:51:002020-02-29 22:51:00
- datediff(date1, date2): Tolak dua tarikh date1 - date2 dan kembalikan bilangan hari. pilih datediff('2016-02-29 22:51:00','2016-03-29 22:51:00');
- timediff(time1,time2): dua Tolak masa1 - masa2 daripada setiap tarikh dan kembalikan perbezaan masa (format: 838:59:59). pilih timediff('2016-02-29 22:51:00','2016-01-29 22:51:00');
- Nota: timediff(time1,time2) Kedua-dua parameter fungsi mestilah daripada jenis yang sama.
③ peningkatan cap masa, penurunan, fungsi penukaran
- -- tarikh ke cap masa
timestamp(date)
- - - tarikh masa
timestamp(date, time)
- -- Sama seperti tarikh_tambah, tambah masa mengikut unit, kurangkan
timestampadd(unit,interval,datetime_expr)
select timestampadd(second, 60, '2017-12-18 00:00:00'); select timestampadd(minute, 60, '2017-12-18 00:00:00'); select timestampadd(hour, 60, '2017-12-18 00:00:00');
- -- Kira perbezaan antara dua masa, anda boleh mengira saat, minit, jam, hari, bulan, tahun, minggu
timestampdiff(unit,datetime_expr1,datetime_expr2)
select timestampdiff(second, '2017-12-18 00:00:00','2017-12-18 12:00:00'); select timestampdiff(hour, '2017-11-18 00:00:00','2017-12-18 12:00:00'); select timestampdiff(day, '2017-10-17 00:00:00','2017-11-18 23:00:00');
date_format adalah untuk memformat tarikh
Nota: Jika anda menggunakan fungsi ini pada medan tarikh semasa menanya data, pengoptimum tidak akan menggunakan indeks medan, ia juga tidak boleh digunakan melalui data pertanyaan, jadi kecekapan pertanyaan akan menjadi sangat rendah Sebagai contoh, dalam pernyataan pertanyaan berikut, jika tarikh lahir medan mempunyai indeks, indeks akan menjadi tidak sah kerana fungsi format_date digunakan.select date_format(now(),'%Y%m%d'), date_format(now(),'%Y-%m-%d'), date_format(now(),'%Y/%m/%d'), date_format(now(),'%m/%d/%Y');
select * from employees where date_format(birth_date,'%Y-%m-%d') = '1961-08-03';
Soalan tarikh pengaturcaraan klasikKira hari lahir terbaharu (termasuk yang lalu dan akan datang) pengguna berdasarkan tarikh lahir dan tarikh semasa
[Cadangan berkaitan :-- 上一年,当年,下一年生日与当前时间差最小的年就是用户最近的生日 select emp_no,first_name,last_name,birth_date,today,if(last_diff<=cur_diff and last_diff<=next_diff, last,if(cur_diff from ( -- 计算当前时间与上一年,当年,下一年生日的时间差 select emp_no,first_name,last_name,birth_date,datediff(today,last) as last_diff,abs(datediff(today,cur)) as cur_diff,abs(datediff(today,next)) as next_diff, last,cur,next,today from ( -- 用户最近的生日可能分布在前一年,当年,下一年。根据年度差year_diff计算上一年,当年,下一年用户的生日 select emp_no,first_name,last_name,birth_date, DATE_ADD(birth_date,INTERVAL year_diff year) as cur, DATE_ADD(birth_date,INTERVAL year_diff+1 year) as next, DATE_ADD(birth_date,INTERVAL year_diff-1 year) as last, today from ( -- 获取当前事前与出生日期的年度差 year_diff select emp_no,first_name,last_name,birth_date,(year(NOW())-year(birth_date)) as year_diff, NOW() as today from employees ) a ) b ) c
Atas ialah kandungan terperinci Apakah jenis yang digunakan untuk hari lahir dalam mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Redis menggunakan satu seni bina berulir untuk memberikan prestasi tinggi, kesederhanaan, dan konsistensi. Ia menggunakan I/O multiplexing, gelung acara, I/O yang tidak menyekat, dan memori bersama untuk meningkatkan keserasian, tetapi dengan batasan batasan konkurensi, satu titik kegagalan, dan tidak sesuai untuk beban kerja yang berintensifkan.

MySQL dan SQL adalah kemahiran penting untuk pemaju. 1.MYSQL adalah sistem pengurusan pangkalan data sumber terbuka, dan SQL adalah bahasa standard yang digunakan untuk mengurus dan mengendalikan pangkalan data. 2.MYSQL menyokong pelbagai enjin penyimpanan melalui penyimpanan data yang cekap dan fungsi pengambilan semula, dan SQL melengkapkan operasi data yang kompleks melalui pernyataan mudah. 3. Contoh penggunaan termasuk pertanyaan asas dan pertanyaan lanjutan, seperti penapisan dan penyortiran mengikut keadaan. 4. Kesilapan umum termasuk kesilapan sintaks dan isu -isu prestasi, yang boleh dioptimumkan dengan memeriksa penyataan SQL dan menggunakan perintah menjelaskan. 5. Teknik pengoptimuman prestasi termasuk menggunakan indeks, mengelakkan pengimbasan jadual penuh, mengoptimumkan operasi menyertai dan meningkatkan kebolehbacaan kod.

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

Pemantauan yang berkesan terhadap pangkalan data REDIS adalah penting untuk mengekalkan prestasi yang optimum, mengenal pasti kemungkinan kesesakan, dan memastikan kebolehpercayaan sistem keseluruhan. Perkhidmatan Pengeksport Redis adalah utiliti yang kuat yang direka untuk memantau pangkalan data REDIS menggunakan Prometheus. Tutorial ini akan membimbing anda melalui persediaan lengkap dan konfigurasi perkhidmatan pengeksport REDIS, memastikan anda membina penyelesaian pemantauan dengan lancar. Dengan mengkaji tutorial ini, anda akan mencapai tetapan pemantauan operasi sepenuhnya
