MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで日付値として指定できるように、文字列または数値には何桁必要ですか?


年を4桁の値と見なしますが、MySQLがそれを日付値として指定するには、文字列または数値に最低8桁が必要です。この場合、マイクロ秒も保存する場合、値は最大20桁にすることができます。

mysql> Select TIMESTAMP('20171022040536.100000');
+-----------------------------------+
| TIMESTAMP('20171022040536100000') |
+-----------------------------------+
| 2017-10-22 04:05:36.100000        |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)

上記のクエリは、TIMESTAMP値に20桁の文字列を使用しています。最後の6桁はマイクロ秒です。

mysql> Select TIMESTAMP(20171022);
+---------------------+
| TIMESTAMP(20171022) |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

上記のクエリは、TIMESTAMP値に8桁の文字列を使用しています。

mysql> Select TIMESTAMP(201710);
+-------------------+
| TIMESTAMP(201710) |
+-------------------+
| NULL              |
+-------------------+
1 row in set, 1 warning (0.00 sec)

上記のクエリは、桁数が8未満であるため、NULLを返します。

対照的に、年を2桁の値と見なす場合、MySQLがそれを日付値として指定するには、文字列または数値に最低6桁が必要です。この場合、マイクロ秒も保存する場合、値は最大18桁にすることができます。

mysql> Select TIMESTAMP(171022);
+---------------------+
| TIMESTAMP(171022)   |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

上記のクエリは、TIMESTAMP値に6桁の文字列を使用しています。

mysql> Select TIMESTAMP('171022040536.200000');
+----------------------------------+
| TIMESTAMP('171022040536.200000') |
+----------------------------------+
| 2017-10-22 04:05:36.200000       |
+----------------------------------+
1 row in set (0.00 sec)

上記のクエリは、TIMESTAMP値に18桁の文字列を使用しています。ドット(。)の後の最後の6桁は、マイクロ秒です。

mysql> Select TIMESTAMP(1710);
+-----------------+
| TIMESTAMP(1710) |
+-----------------+
| NULL            |
+-----------------+
1 row in set, 1 warning (0.00 sec)

上記のクエリは、桁数が6未満であるため、NULLを返します。


  1. MySQLでタイムスタンプから日付を選択するにはどうすればよいですか?

    MySQLでタイムスタンプから日付を選択するには、DATE()を使用する必要があります。 まずテーブルを作成しましょう- mysql> create table DemoTable697(    Id varchar(100),    Title varchar(100),    BatchTime timestamp ); Query OK, 0 rows affected (0.78 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTabl

  2. MySQLで文字列から日付を抽出する方法は?

    MySQLの文字列から日付を抽出するには、SUBSTRING_INDEX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Title text    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John has got join