Rumah  >  Artikel  >  pangkalan data  >  Ringkasan jenis tarikh dan masa serta kaedah pemformatan dalam MySQL

Ringkasan jenis tarikh dan masa serta kaedah pemformatan dalam MySQL

WBOY
WBOYke hadapan
2022-08-19 13:41:163638semak imbas

Artikel ini membawa anda pengetahuan yang berkaitan tentang mysql Ia terutamanya memperkenalkan jenis tarikh dan masa serta kaedah pemformatan dalam MySQL Beberapa jenis masa yang biasa digunakan dalam MySQL ialah: tarikh, masa tarikh, masa, tahun, cap waktu , mari kita lihat, semoga bermanfaat untuk semua.

Ringkasan jenis tarikh dan masa serta kaedah pemformatan dalam MySQL

Pembelajaran yang disyorkan: tutorial video mysql

[1] Jenis tarikh dan masa dalam MySQL

MySQL Beberapa jenis masa yang biasa digunakan ialah: tarikh, masa tarikh, masa, tahun, cap masa

数据类型 占用字节 最小值 最大值 零值表示
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 tarikh masa, formatnya YYYY-mm-dd HH:ii:ss , Julat yang diwakili adalah dari 1000 hingga 9999. Tetapi terdapat nilai sifar, 0000-00-00 00:00:00
  • date: tarikh, iaitu bahagian tarikh
  • time: masa ( segmen), Di antara selang waktu tertentu, dari - semasa ke semasa (diwakili oleh masa negatif); -01 00:00:00' hingga 2037. Format ialah YYYY-mm-dd HH:ii:ss, format
  • selaras sepenuhnya dengan tarikh masa; julat yy Ia 1970-2069.
  • 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 tarikh
  • Contoh pernyataan SQL
  • year
  • seperti yang ditunjukkan di bawah: tahun lalai kepada 4 digit, iaitu YYYY; cap waktu tidak boleh kosong , mempunyai nilai lalai dan lajur data ini dimuat semula apabila mencipta rekod baharu dan mengubah suai rekod sedia ada.

Masukkan beberapa keping data dan lakukan analisis perbezaan mengikut masa seperti berikut:
create table my_date(
	d1 datetime,
	d2 date,
	d3 time,
	d4 timestamp,
	d5 year
)charset utf8;
desc my_date

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.

Jadi bolehkah MySQL mendapat cap masa sebenar? pasti!

update my_date set d1 = SYSDATE() where d5=69;
select * from my_date

Contoh Ujian

select UNIX_TIMESTAMP();

4.1 Soal masa semasa

4.2 Masukkan masa semasa ke dalam jenis lajur di atas

SELECT SYSDATE() from dual;

4.3 mysql Bilangan digit dalam panjang jenis datetime

insert INTO `user` (name,number,date,datetime,timestamp,time,year)
VALUES (
'Loum',3,SYSDATE(),SYSDATE(),SYSDATE(),SYSDATE(),2016
);

adalah seperti berikut Biasanya panjang jenis datetime dalam MySQL direka untuk menjadi 0 secara lalai:

Pada masa ini, masa sisipan biasanya adalah format yang biasa kita lihat: 2020-08-29 12:52:16. Tetapi bagaimana jika n dalam datetime(n) bukan 0?

akan dipaparkan seperti berikut dalam MySQL:

2020-08-29 12:52:16.01
`work_time` datetime(0) DEFAULT NULL COMMENT '清收时间',
2020-08-29 12:52: 16.

Anda akan mendapati terdapat titik perpuluhan pada penghujungnya dan nombor selepas titik perpuluhan akan sepadan dengan digit yang sepadan – ini dipanggil nanosaat.
`work_time` datetime(2) DEFAULT NULL COMMENT '清收时间',
# datetime(n)中的n最大值为6
`work_time` datetime(6) DEFAULT NULL COMMENT '清收时间',

diringkaskan seperti berikut:


: Hanya tarikh, tiada masa;

: Ada masa dan tarikh;

: hanya masa, tepat kepada minit dan saat; , seperti 2002 , jika ditulis sebagai 2002-01-15, pengiraan akan dilakukan dan hasil sisipan ialah 1986
  • date [2] Pemformatan jenis tarikh dan masa
  • datetime
  • DATE_FORMAT( ) fungsi
  • time
  • boleh menggunakan fungsi date_format() untuk menukar masa. timestamp
  • year
  •  date_format( ) 转换格式

    格式 描述
    %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 位

     str_to_date()函数

    字符串转换为date:

    str_to_date(
    	'2016-12-15 16:48:40',
    	'%Y-%m-%d %H:%i:%S'
    )

    推荐学习:mysql视频教程

Atas ialah kandungan terperinci Ringkasan jenis tarikh dan masa serta kaedah pemformatan dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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