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を返します。
-
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
-
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