Rumah >pangkalan data >tutorial mysql >Apakah jenis masa dalam mysql

Apakah jenis masa dalam mysql

WBOY
WBOYke hadapan
2023-06-01 10:19:051520semak imbas
Pemilihan jenis masa

Jenis medan masa boleh menjadi masa tarikh dan cap masa Berikut ialah jadual untuk menunjukkan perbezaan antara kedua-duanya:

Apakah jenis masa dalam mysql

cap waktu Diterjemah ke dalam bahasa Cina, ia ialah "cap masa". Ia ialah bilangan saat dari masa semasa hingga tahun pertama Unix (1 Januari 1970, 0:00:00 Ia menduduki 4 bait dan disimpan dalam UTC format Ia Zon masa semasa diambil dan ditukar secara automatik. Datetime disimpan dalam 8 bait dan tiada pengambilan zon masa dilakukan. Dalam erti kata lain, untuk cap waktu, jika zon waktu semasa menyimpan berbeza daripada zon waktu semasa mendapatkan semula, data yang dikeluarkan juga akan berbeza. Untuk datetime, anda mendapat apa yang anda simpan. Berikut ialah beberapa kes biasa dan cadangan pemilihan.

  • Pilih mengikut julat storan, seperti masa pengeluaran, jangka hayat, dsb. Adalah disyorkan untuk memilih waktu tarikh, kerana waktu tarikh boleh menyimpan julat yang lebih luas.

  • Adalah disyorkan untuk menggunakan cap masa untuk merekodkan masa sisipan dan masa pengubahsuaian baris data ini.

  • Pilih cap masa untuk medan masa yang berkaitan dengan zon waktu.

  • Jika anda hanya mahu mewakili tahun, tarikh dan masa, anda juga boleh menggunakan tahun, tarikh dan masa Mereka menduduki 1, 3 dan 3 bait, dan masa tarikh adalah set mereka.

Jika medan cap masa sering digunakan dalam pertanyaan, kami juga boleh menggunakan fungsi terbina dalam MySQL

dan FROM_UNIXTIME() untuk menukar nombor tarikh dan cap masa ke belakang dan seterusnya , INT boleh digunakan UNSIGNED menyimpan masa, nombor berterusan, mengambil sedikit ruang dan indeks boleh digunakan untuk meningkatkan prestasi pertanyaan. Berikut ialah contoh pernyataan penciptaan jadual dan penukaran berkaitan cap masa SQL: UNIX_TIMESTAMP()

CREATE TABLE `tb_time` (
  `increment_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
    `col1` datetime NOT NULL DEFAULT '2020-10-01 00:00:00' COMMENT '到期时间',
    `unix_createtime` int unsigned NOT NULL COMMENT '创建时间戳',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`increment_id`),
  KEY `idx_unix_createtime` (`unix_createtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='time测试表';
# 插入数据
insert into tb_time (unix_createtime,create_time) values 
(UNIX_TIMESTAMP(now()),now());
# 时间戳数字与时间相互转换
select UNIX_TIMESTAMP('2020-05-06 00:00:00')
select FROM_UNIXTIME(1588694400)

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

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam