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

WBOY
リリース: 2022-08-19 13:41:16
転載
3663 人が閲覧しました

この記事では、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)
%pAM 或 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート