Rumah > pangkalan data > tutorial mysql > Apakah jenis masa yang digunakan dalam mysql?

Apakah jenis masa yang digunakan dalam mysql?

青灯夜游
Lepaskan: 2022-06-10 20:15:09
asal
24177 orang telah melayarinya

Terdapat tiga jenis jenis masa: 1. Jenis MASA, digunakan untuk nilai yang hanya memerlukan maklumat masa Ia memerlukan 3 bait untuk penyimpanan, dalam format "HH:MM:SS"; . Jenis DATETIME, Untuk nilai yang perlu mengandungi maklumat tarikh dan masa, 8 bait diperlukan untuk storan dan formatnya ialah "YYYY-MM-DD HH:MM:SS"; ​​yang perlu mengandungi maklumat tarikh dan masa Nilai memerlukan 4 bait untuk storan dan formatnya ialah "YYYY-MM-DD HH:MM:SS".

Apakah jenis masa yang digunakan dalam mysql?

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Terdapat banyak jenis data yang mewakili tarikh dan masa dalam MySQL: YEAR, TIME, DATE, DTAETIME, TIMESTAMP. Apabila hanya merekod maklumat tahun, anda hanya boleh menggunakan jenis YEAR.

Setiap jenis mempunyai julat nilai undang-undang Apabila nilai haram ditentukan, sistem akan memasukkan nilai "sifar" ke dalam pangkalan data.

Terdapat tiga jenis masa yang boleh dinyatakan.

类型名称 时间格式 日期范围 存储需求
TIME HH:MM:SS -838:59:59 ~ 838:59:59 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 MASA

Jenis MASA digunakan untuk nilai yang hanya memerlukan maklumat masa dan memerlukan 3 bait untuk storan. Formatnya ialah HH:MM:SS. HH mewakili jam, MM mewakili minit, dan SS mewakili saat.

Julat nilai jenis MASA ialah -838:59:59~838:59:59 Sebab mengapa bahagian jam begitu besar ialah jenis MASA bukan sahaja boleh digunakan untuk mewakili masa hari (mesti kurang daripada 24 jam), Ia juga boleh menjadi masa sejak peristiwa atau masa antara dua peristiwa (yang boleh melebihi 24 jam, atau negatif).

Nilai MASA boleh ditentukan menggunakan pelbagai format, seperti ditunjukkan di bawah.

  • Rentetan dalam format 'D HH:MM:SS'. Sintaks "tidak ketat" ini juga boleh digunakan: 'HH:MM:SS', 'HH:MM', 'D HH' atau 'SS'. D di sini mewakili hari, yang boleh mengambil nilai antara 0 dan 34. Apabila memasukkan ke dalam pangkalan data, D ditukar kepada jam dan disimpan dalam format "D*24 HH".

  • Format 'HHMMSS', rentetan tanpa pemisah atau nilai berangka dalam format HHMMSS, dengan mengandaikan masa yang bermakna. Sebagai contoh, '101112' difahami sebagai '10:11:12', tetapi '106112' adalah haram (ia mempunyai bahagian minit yang tidak bermakna) dan akan menjadi 00:00:00 apabila disimpan.

Petua: Berhati-hati apabila memberikan nilai singkatan ke lajur TIME: tanpa titik bertindih, MySQL menganggap bahawa dua digit paling kanan mewakili saat apabila mentafsir nilai. (MySQL mentafsir nilai TIME sebagai masa lalu dan bukannya masa semasa). Sebagai contoh, pembaca mungkin berfikir '1112' dan 1112 bermakna 11:12:00 (iaitu, 12 minit selepas pukul 11), tetapi MySQL mentafsirkannya sebagai 00:11:12 (iaitu, 11 minit dan 12 saat ). Begitu juga '12' dan 12 ditafsirkan sebagai 00:00:12. Sebaliknya, jika titik bertindih digunakan dalam nilai TIME, ia pasti dianggap sebagai masa dalam sehari, iaitu, '11:12' bermaksud 11:12:00, bukan 00:11:12.

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, Simpan mengikut format input sebenar, iaitu, apa yang dimasukkan disimpan, tanpa mengira zon waktu

  • Nilai TIMESTAMP disimpan dalam format UTC (Coordinated Universal Time) Zon waktu semasa ditukar apabila menyimpan, dan kemudian ditukar kembali kepada 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 tidak disertakan 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.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci Apakah jenis masa yang digunakan dalam mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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