ホームページ  >  記事  >  データベース  >  MySQL の日付と時刻の型と書式設定方法のまとめ

MySQL の日付と時刻の型と書式設定方法のまとめ

WBOY
WBOY転載
2022-08-19 13:41:163662ブラウズ

この記事では、mysql に関する関連知識を提供します。主に、MySQL の日付と時刻の型と書式設定方法を紹介します。MySQL で一般的に使用される時間型には、date、datetime、time、year、timestamp があります。 、見てみましょう。皆さんの参考になれば幸いです。

MySQL の日付と時刻の型と書式設定方法のまとめ

推奨学習: mysql ビデオ チュートリアル

[1] MySQL の日付と時刻の型

MySQL いくつか一般的に使用される時間タイプは次のとおりです: 日付、日時、時間、年、タイムスタンプ

##を意味します。 # 1000-01-019999-12-310000-00-00日時81000-01-01 00:00:009999-12-31 23:59:590000-00-00 00:00: 00タイムスタンプ4197001010800012038年のいつか0000000000000000time3-838:59:59838:59:5900:00:00##年

詳細説明

  • datetime : 時刻日付型、形式は YYYY-mm-dd HH です。 : ii:ss、範囲は 1000 ~ 9999 です。ただし、値は 0000-00-00 00:00:00;
  • date: 日付は datetime の日付部分です;
  • time : 指定された間隔の間の時間 (セグメント)、- から時刻まで (負の時間で表されます);
  • timestamp: 従来のタイムスタンプ (例: : 14253685)、範囲は「1970-01-01 00:00:00」から 2037 までです。形式は YYYY-mm-dd HH:ii:ss, 形式は datetime と完全に一致します;
  • year: yy および yyyy、yyyy の範囲は 1901-2155 、 yy の範囲は 1970-2069 です。

2 桁の年 (00 ~ 69 は 2000 ~ 2069 年を意味し、70 ~ 99 は 1970 ~ 1999 年を意味します)。アプリケーションが年のみを記録する必要がある場合、年は日付よりも多くのスペースを節約します

SQL ステートメントの例

create table my_date(
	d1 datetime,
	d2 date,
	d3 time,
	d4 timestamp,
	d5 year
)charset utf8;
desc my_date

以下の図に示すように、年のデフォルトは 4 桁、つまり YYYY です。タイムスタンプを空にすることはできません。デフォルト値では、新しいレコードの作成時および既存のレコードの変更時にこのデータ列が更新されます。

次のように複数のデータを挿入し、時間通りに差分分析を実行します:

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

## タイムスタンプ フィールド

デフォルトでは、現在のレコードが更新される限り、このフィールドは現在の時刻に自動的に更新されます。

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

では、MySQL は実際のタイムスタンプを取得できるのでしょうか?もちろん!

select UNIX_TIMESTAMP();

テスト例

4.1 現在時刻のクエリ#

SELECT SYSDATE() from dual;

4.2 現在の時刻を上記の種類の列に挿入します。

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

4.3 datetime 型の長さビットmysql の数値

は次のとおりです。通常、MySQL の日時型の長さはデフォルトで 0 になるように設計されています:

`work_time` datetime(0) DEFAULT NULL COMMENT '清收时间',

このとき、挿入時間は通常、私たちがよく見るもの: 2020-08- 29 12:52:16 形式。しかし、datetime(n) の n が 0 でない場合はどうなるでしょうか?

`work_time` datetime(2) DEFAULT NULL COMMENT '清收时间',
# datetime(n)中的n最大值为6
`work_time` datetime(6) DEFAULT NULL COMMENT '清收时间',

この時、MySQLでは次のように表示されます:

2020-08-29 12:52:16.01
2020-08-29 12:52 :16.014057


最後に小数点があり、小数点以下の数字が対応する数字に対応していることがわかります。これはナノ秒と呼ばれます。

要約は次のとおりです:

    date
  • : 日付のみ、時刻は含まれません;
  • datetime
  • : 時刻と日付付き;
  • time
  • : 時間のみ、分と秒まで正確;
  • timestamp
  • : タイムスタンプ、正確to minutes Seconds; #year
  • : 年 (2002 など)、2002-01-15 と記述した場合、計算が実行され、挿入結果は 1986
  • ## になります。 #[2 ] 日時型の書式設定

DATE_FORMAT( ) 関数

date_format( ) 関数を使用して時間を変換できます。 。 rreeee

 date_format( ) 转换格式

データ型 占有バイト数が最小です 最大値 ゼロ値は、
日付 4
1 1901 2155 0000
格式 描述
%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视频教程

以上がMySQL の日付と時刻の型と書式設定方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。