ユーさんは見た!#5 デートじゃなくてdate

こんにちは、アイサットのユーさんです!

気づけば今年(2022年)ももう11月、あと2ヶ月を切っています・・・。
早いですよね~~~
さて、そんな11月の祝日といえば、「文化の日」(11月3日)や「勤労感謝の日」(11月23日)がありますね!

・・・さっき11月3日と書きましたが、
令和4年11月3日と書くこともできますし、
2022/11/3や2022-11-3と書くこともできますね。いろんな書き方があります。

昨今、様々なデータを蓄積するデータベース(DB)がありますが、このままでは日付のデータをデータベースの中に追加したい場合に、どのような形式で記載すれば良いのか困ってしまいます。

今回はそんな、データベースにおける日付のデータの追加方法について、見ていきたいと思います。

概要

・様々なデータベース
・日付の様々なデータ型
・日付のデータを追加しようとすると・・・

様々なデータベース

使用されることが多いであろうデータベースとしては、例えば下記のような製品・サービスがあります。
ここには10個、A→Zの順にして記載してみました。

・Amazon RDS
・FileMaker
・IndexedDB
・Microsoft Access
・Microsoft SQL Server
・MongoDB
・MySQL
・Oracle Database
・PostgreSQL
・SQLite

日付の様々なデータ型

日付の情報を扱うデータ型としては、例えば下記のようなデータ型が挙げられます。

・date型
・time型
・timestamp型
・datetime型

日付のデータを追加しようとすると・・・

今回は、MySQLとOracle Databaseのデータベースにそれぞれ「date型」で、日付のデータを追加してみる場合を想定します。
例えば、データベースの中にこんなテーブルがあったとしましょう!(イメージです)

u_san_infoテーブル

id favorite_item create_at update_at
1 pasta 2022-11-03 2022-11-03

※今回は、追加(INSERT)時に日付を明記して、create_at カラムとupdate_at カラムのそれぞれに日付のデータを追加する形式とします。

◎MySQLで追加する場合
INSERT INTO u_san_info VALUES (2, ‘ramen’, ‘2022-11-04’, ‘2022-11-04’);

◎Oracle Databaseで追加する場合
INSERT INTO u_san_info VALUES (2, ‘ramen’, TO_DATE('22-11-04 00:00:00', 'YY-MM-DD HH24:MI:SS'), TO_DATE('22-11-04 00:00:00', 'YY-MM-DD HH24:MI:SS'));

お気づきでしょうか。
Oracle Databaseで日付のデータをDATE型で追加する場合、やけに長くなっていますね・・・。
Oracle Databaseの場合は、「‘2022-11-04’」という書き方でデータを追加しようとするとエラーになってしまうため、「TO_DATE()」を付ける必要があります。
上で記載した「’YY-MM-DD HH24:MI:SS’」では、フォーマット(書式)を指定しています。

そして、上記のようにINSERT文を用いてデータを追加すると、u_san_infoテーブルは下記のようになりました!

u_san_infoテーブル(データ追加後)

id favorite_item create_at update_at
1 pasta 2022-11-03 2022-11-03
2 ramen 2022-11-04 2022-11-04

無事にデータを追加できたようで良かったです。

-------------------------------------

今回は、データベースにおける日付のデータの追加方法について見ていきました。
同じ日付でも、データベースによって、追加方法が異なることがあるのですね・・・。
データベースでデータを扱う際は、そういった点も注意が必要ですね。

ここまでご覧くださり、ありがとうございました!
弊社では様々なブログを展開していますので、ぜひ他の記事もご覧ください!

「ユーさんは見た!」次回もお楽しみに♪

ブログ

前の記事

四半世紀ぶりの雀鬼
ブログ

次の記事

評価面談