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);② datediff dan timediff
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');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');
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 ) ctutorial 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!

MySQL sesuai untuk pemula untuk mempelajari kemahiran pangkalan data. 1. Pasang alat pelayan dan klien MySQL. 2. Memahami pertanyaan SQL asas, seperti SELECT. 3. Operasi data induk: Buat jadual, masukkan, kemas kini, dan padam data. 4. Belajar Kemahiran Lanjutan: Fungsi Subquery dan Window. 5. Debugging dan Pengoptimuman: Semak sintaks, gunakan indeks, elakkan pilih*, dan gunakan had.

MySQL dengan cekap menguruskan data berstruktur melalui struktur jadual dan pertanyaan SQL, dan melaksanakan hubungan antara meja melalui kunci asing. 1. Tentukan format data dan taip apabila membuat jadual. 2. Gunakan kunci asing untuk mewujudkan hubungan antara jadual. 3. Meningkatkan prestasi melalui pengindeksan dan pengoptimuman pertanyaan. 4. Secara kerap sandaran dan memantau pangkalan data untuk memastikan pengoptimuman keselamatan data dan prestasi.

MySQL adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pembangunan web. Ciri -ciri utamanya termasuk: 1. Menyokong pelbagai enjin penyimpanan, seperti InnoDB dan Myisam, sesuai untuk senario yang berbeza; 2. Menyediakan fungsi replikasi master-hamba untuk memudahkan pengimbangan beban dan sandaran data; 3. Meningkatkan kecekapan pertanyaan melalui pengoptimuman pertanyaan dan penggunaan indeks.

SQL digunakan untuk berinteraksi dengan pangkalan data MySQL untuk merealisasikan penambahan data, penghapusan, pengubahsuaian, pemeriksaan dan reka bentuk pangkalan data. 1) SQL Melaksanakan operasi data melalui Pilih, Masukkan, Kemas kini, Padam Penyataan; 2) Gunakan pernyataan membuat, mengubah, drop untuk reka bentuk dan pengurusan pangkalan data; 3) Pertanyaan kompleks dan analisis data dilaksanakan melalui SQL untuk meningkatkan kecekapan membuat keputusan perniagaan.

Operasi asas MySQL termasuk membuat pangkalan data, jadual, dan menggunakan SQL untuk melakukan operasi CRUD pada data. 1. Buat pangkalan data: createdatabasemy_first_db; 2. Buat Jadual: CreateTableBooks (Idintauto_IncrementPrimaryKey, Titlevarchar (100) NotNull, Authorvarchar (100) NotNull, Published_yearint); 3. Masukkan Data: InsertIntoBooks (Tajuk, Pengarang, Published_year) VA

Peranan utama MySQL dalam aplikasi web adalah untuk menyimpan dan mengurus data. 1.MYSQL dengan cekap memproses maklumat pengguna, katalog produk, rekod urus niaga dan data lain. 2. Melalui pertanyaan SQL, pemaju boleh mengekstrak maklumat dari pangkalan data untuk menghasilkan kandungan dinamik. 3.MYSQL berfungsi berdasarkan model klien-pelayan untuk memastikan kelajuan pertanyaan yang boleh diterima.

Langkah -langkah untuk membina pangkalan data MySQL termasuk: 1. Buat pangkalan data dan jadual, 2. Masukkan data, dan 3. Pertama, gunakan pernyataan CreatedataBase dan createtable untuk membuat pangkalan data dan jadual, kemudian gunakan pernyataan InsertInto untuk memasukkan data, dan akhirnya gunakan pernyataan PILIH untuk menanyakan data.

MySQL sesuai untuk pemula kerana mudah digunakan dan berkuasa. 1.MYSQL adalah pangkalan data relasi, dan menggunakan SQL untuk operasi CRUD. 2. Ia mudah dipasang dan memerlukan kata laluan pengguna root untuk dikonfigurasi. 3. Gunakan Masukkan, Kemas kini, Padam, dan Pilih untuk Melaksanakan Operasi Data. 4. Orderby, di mana dan menyertai boleh digunakan untuk pertanyaan yang kompleks. 5. Debugging memerlukan memeriksa sintaks dan gunakan Jelaskan untuk menganalisis pertanyaan. 6. Cadangan pengoptimuman termasuk menggunakan indeks, memilih jenis data yang betul dan tabiat pengaturcaraan yang baik.


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

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.