Rumah pangkalan data tutorial mysql Apakah jenis yang digunakan untuk hari lahir dalam mysql?

Apakah jenis yang digunakan untuk hari lahir dalam mysql?

Nov 11, 2022 pm 03:57 PM
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.

Apakah jenis yang digunakan untuk hari lahir dalam mysql?

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.

Apakah jenis yang digunakan untuk hari lahir dalam mysql?

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 dan tarikh_sub

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);
Salin selepas log masuk

select date_add('2016-02-29 22:51:00', interval -1 year),
date_add('2016-02-29 22:51:00', interval 4 year);
Salin selepas log masuk
② datediff dan timediff
2015-02-28 22:51:002020-02-29 22:51:00
Salin selepas log masuk

    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');
Salin selepas log masuk
  • -- Kira perbezaan antara dua masa, anda boleh mengira saat, minit, jam, hari, bulan, tahun, minggu

    timestampdiff(unit,datetime_expr1,datetime_expr2)

④ fungsi format_tarikh
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');
Salin selepas log masuk
Tujuan utama fungsi

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');
Salin selepas log masuk

select *
from employees
where date_format(birth_date,'%Y-%m-%d') = '1961-08-03';
Salin selepas log masuk

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
Salin selepas log masuk
tutorial video mysql

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mysql: Konsep mudah untuk pembelajaran mudah Mysql: Konsep mudah untuk pembelajaran mudah Apr 10, 2025 am 09:29 AM

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.

Cara membuka phpmyadmin Cara membuka phpmyadmin Apr 10, 2025 pm 10:51 PM

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: Pengenalan kepada pangkalan data paling popular di dunia MySQL: Pengenalan kepada pangkalan data paling popular di dunia Apr 12, 2025 am 12:18 AM

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.

Mengapa menggunakan mysql? Faedah dan kelebihan Mengapa menggunakan mysql? Faedah dan kelebihan Apr 12, 2025 am 12:17 AM

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.

Cara menggunakan redis berulir tunggal Cara menggunakan redis berulir tunggal Apr 10, 2025 pm 07:12 PM

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: Kemahiran Penting untuk Pemaju MySQL dan SQL: Kemahiran Penting untuk Pemaju Apr 10, 2025 am 09:30 AM

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.

Tempat Mysql: Pangkalan Data dan Pengaturcaraan Tempat Mysql: Pangkalan Data dan Pengaturcaraan Apr 13, 2025 am 12:18 AM

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

Pantau titisan redis dengan perkhidmatan pengeksport redis Pantau titisan redis dengan perkhidmatan pengeksport redis Apr 10, 2025 pm 01:36 PM

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

See all articles