sql >> データベース >  >> RDS >> Mysql

MySQLのさまざまな日付/時刻フィールドタイプの長所と短所は何ですか?

    • TIMESTAMPはMySQL独自のメソッドに格納され(基本的には年、月、日、時、分、秒で構成される文字列です)、さらに、レコードが挿入または変更され、明示的でない場合は常に、タイプTIMESTAMPのフィールドが自動的に更新されます。フィールド値が与えられます:

      mysql> create table timestamp_test(
          id integer not null auto_increment primary key, 
          val varchar(100) not null default '', ts timestamp not null); 
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> insert into timestamp_test (val) values ('foobar');
      Query OK, 1 row affected (0.00 sec)
      
      mysql> select * from timestamp_test;
      +----+--------+----------------+
      | id | val    | ts             |
      +----+--------+----------------+
      |  1 | foobar | 20090122174108 |
      +----+--------+----------------+
      1 row in set (0.00 sec)
      
      mysql> update timestamp_test set val = 'foo bar' where id = 1;
      Query OK, 1 row affected (0.00 sec)
      Rows matched: 1  Changed: 1  Warnings: 0
      
      mysql> select * from timestamp_test;
      +----+---------+----------------+
      | id | val     | ts             |
      +----+---------+----------------+
      |  1 | foo bar | 20090122174123 |
      +----+---------+----------------+
      1 row in set (0.00 sec)
      
      mysql> 
      
    • DATETIMEは、MySQLの日付と時刻の関数と連携して機能する日付と時刻の標準データ型です。私はおそらくこれを実際に使用するでしょう

    • タイムゾーンやうるう年などの興味深い問題のために実際のワームの缶を開いているため、INTEGER形式で日付を保存することはお勧めしません。少なくとも、保存されている特定の日付に基づいてデータベースにクエリを実行する場合はそのフィールド。


    1. Oracle INSERT INTO SELECT(...)DUP_VAL_ON_INDEX例外動作

    2. Oracle から PHP の Excel ファイルにクエリ結果をエクスポートしてダウンロードする

    3. MySQLテーブルに主キーを追加するにはどうすればよいですか?

    4. 同じIDで2つの列の値が異なるレコードを選択するSQLクエリ