Rumah >pangkalan data >tutorial mysql >Apakah jenis tarikh dan masa serta kaedah pemformatan dalam MySQL
Dalam MySQL, tarikh, masa tarikh, masa, tahun dan cap masa adalah jenis masa yang biasa digunakan
数据类型 | 占用字节 | 最小值 | 最大值 | 零值表示 |
---|---|---|---|---|
date | 4 | 1000-01-01 | 9999-12-31 | 0000-00-00 |
datetime | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 | 0000-00-00 00:00: 00 |
timestamp | 4 | 19700101080001 | 2038年的某个时刻 | 0000000000000000 |
time | 3 | -838:59:59 | 838:59:59 | 00:00:00 |
year | 1 | 1901 | 2155 | 0000 |
Penerangan terperinci
datetime
: Jenis masa dan tarikh, formatnya YYYY-mm-dd HH:ii:ss, julat yang diwakili Ia adalah dari 1000 hingga 9999. Tetapi terdapat nilai sifar, 0000-00-00 00:00:00
date
: tarikh, iaitu bahagian tarikh masa
time
: masa (segmen), antara selang yang ditentukan, dari - masa ke + masa (diwakili oleh masa negatif); Setem itu bukan cap waktu konvensional (seperti 14253685), dan julatnya adalah dari '1970-01-01 00:00:00' hingga 2037. Formatnya ialah YYYY-mm-dd HH:ii:ss, format
timestamp
Tahun dua digit (00-69 bermaksud 2000-2069, 70-99 bermaksud 1970~1999). Apabila aplikasi hanya perlu merekodkan tahun, tahun lebih menjimatkan ruang daripada tarikhcontoh penyata SQL
create table my_date( d1 datetime, d2 date, d3 time, d4 timestamp, d5 year )charset utf8; desc my_date
year
insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','11:50:54','2015-09-28 11:51:08','2015'); insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','-11:50:54','2015-09-28 11:51:08','2015');-- -11 insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','-211:50:54','2015-09-28 11:51:08','2015');-- -2 11 insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','-2 11:50:54','2015-09-28 11:51:08','2015');-- -2过去两天 #year用69标识-2069 insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','11:50:54','2015-09-28 11:51:08','69');-- 69 #year用70标识-1970 insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','11:50:54','2015-09-28 11:51:08','70');-- 70
medan cap masa
Secara lalai, selagi rekod semasa dikemas kini, medan ini akan dikemas kini secara automatik kepada masa semasa.update my_date set d1 = SYSDATE() where d5=69; select * from my_dateJadi bolehkah MySQL mendapat cap masa sebenar? pasti!
select UNIX_TIMESTAMP();
Contoh ujian
4.1 Soal masa semasarreee
SELECT SYSDATE() from dual;
4.3 Bit panjang masa tarikh taip mysql Nombor
Biasanya panjang jenis datetime dalam MySQL kami direka untuk menjadi 0 secara lalai: insert INTO `user` (name,number,date,datetime,timestamp,time,year)
VALUES (
'Loum',3,SYSDATE(),SYSDATE(),SYSDATE(),SYSDATE(),2016
);
Format masa biasa biasanya 2020. -08-29 12:52:16 , di mana masa semasa dimasukkan. Tetapi bagaimana jika n dalam datetime(n) bukan 0?
`work_time` datetime(0) DEFAULT NULL COMMENT '清收时间',
akan dipaparkan seperti berikut dalam MySQL:
2020-08-29 12:52:16.012020-08-29 12:52:16.014057>
Anda akan mendapati terdapat titik perpuluhan di hujung dan nombor selepas titik perpuluhan akan sepadan dengan digit yang sepadan - ini dipanggil nanosaat.diringkaskan seperti berikut:
: Ada masa dan tarikh;
: hanya tarikh, tiada masa; >
: Hanya masa, tepat kepada minit dan saat; >: Cap Masa, tepat kepada minit dan saat;
: tahun, seperti 2002, jika ditulis sebagai 2002-01-15, pengiraan akan dilakukan, dan yang dimasukkan keputusannya ialah 1986date
datetime
Anda boleh menggunakan format_tarikh () berfungsi untuk menukar masa. time
`work_time` datetime(2) DEFAULT NULL COMMENT '清收时间', # datetime(n)中的n最大值为6 `work_time` datetime(6) DEFAULT NULL COMMENT '清收时间',
格式 | 描述 |
---|---|
%a | 缩写星期名 |
%b | 缩写月名 |
%c | 月,数值 |
%D | 带有英文前缀的月中的天 |
%d | 月的天,数值(00-31) |
%e | 月的天,数值(0-31) |
%f | 微秒 |
%H | 小时 (00-23) |
%h | 小时 (01-12) |
%I | 小时 (01-12) |
%i | 分钟,数值(00-59) |
%j | 年的天 (001-366) |
%k | 小时 (0-23) |
%l | 小时 (1-12) |
%M | 月名 |
%m | 月,数值(00-12) |
%p | AM 或 PM |
%r | 时间,12-小时(hh:mm:ss AM 或 PM) |
%S | 秒(00-59) |
%s | 秒(00-59) |
%T | 时间, 24-小时 (hh:mm:ss) |
%U | 周 (00-53) 星期日是一周的第一天 |
%u | 周 (00-53) 星期一是一周的第一天 |
%V | 周 (01-53) 星期日是一周的第一天,与 %X 使用 |
%v | 周 (01-53) 星期一是一周的第一天,与 %x 使用 |
%W | 星期名 |
%w | 周的天 (0=星期日, 6=星期六) |
%X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
%x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
%Y | 年,4 位 |
%y | 年,2 位 |
字符串转换为date:
str_to_date( '2016-12-15 16:48:40', '%Y-%m-%d %H:%i:%S' )
Atas ialah kandungan terperinci Apakah jenis tarikh dan masa serta kaedah pemformatan dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!