ホームページ  >  記事  >  データベース  >  MySQL は区切り文字のない数値や文字列を日付としてどのように解釈しますか?

MySQL は区切り文字のない数値や文字列を日付としてどのように解釈しますか?

王林
王林転載
2023-09-08 13:57:121097ブラウズ

MySQL 如何将没有分隔符的数字和字符串解释为日期?

日付を指定するときに、区切り文字がなくても、YYYYMMDDHHMMSS または YYMMDDHHMMSS 形式の文字列または数値が意味をなす場合、MySQL はこの文字列を有効な日付として解釈します。

有効な日付と無効な日付の例 -

mysql> Select Timestamp(20171022040536);
+---------------------------+
| Timestamp(20171022040536) |
+---------------------------+
| 2017-10-22 04:05:36       |
+---------------------------+
1 row in set (0.00 sec)

mysql> Select Timestamp('20171022040536');
+-----------------------------+
| Timestamp('20171022040536') |
+-----------------------------+
| 2017-10-22 04:05:36         |
+-----------------------------+
1 row in set (0.00 sec)

mysql> Select Timestamp('171022040536');
+---------------------------+
| Timestamp('171022040536') |
+---------------------------+
| 2017-10-22 04:05:36       |
+---------------------------+
1 row in set (0.00 sec)

上記のクエリは、MySQL が日付値として解釈できる有効な文字列と数値の例を示しています。

mysql> Select Timestamp('20171022048536');
+-----------------------------+
| Timestamp('20171022048536') |
+-----------------------------+
| NULL                        |
+-----------------------------+
1 row in set, 1 warning (0.00 sec)

上記のクエリは、無効な文字列の例です。 1 分以内に文字列の値が間違っている (85) ため、MySQL は NULL を返します。

mysql> Select Timestamp('20171322040536');
+-----------------------------+
| Timestamp('20171322040536') |
+-----------------------------+
| NULL                        |
+-----------------------------+
1 row in set, 1 warning (0.00 sec)

上記のクエリでは、文字列 month (13) の値が間違っているため、MySQL は NULL を返します。

以上がMySQL は区切り文字のない数値や文字列を日付としてどのように解釈しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。