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

MySQLでDATETIMEをDATEとしてキャストする方法は?


MySQLでDATETIMEをDATEとしてキャストするには、CAST()関数を使用します。構文は次のとおりです-

select cast(yourColumnName as Date) as anyVariableName from yourTableName;

上記の構文を理解するために、最初にテーブルを作成しましょう-

mysql> create table ConvertDatetimeToDate
−> (
   −> YourDatetime datetime
−> );
Query OK, 0 rows affected (0.95 sec)

挿入コマンドを使用して日時をテーブルに挿入します。クエリは次のとおりです-

mysql> insert into ConvertDatetimeToDate values(date_add(now(),interval 1 day));
Query OK, 1 row affected (0.17 sec)

mysql> insert into ConvertDatetimeToDate values(date_add(now(),interval -1 day));
Query OK, 1 row affected (0.15 sec)

mysql> insert into ConvertDatetimeToDate values(date_add(now(),interval 1 year));
Query OK, 1 row affected (0.10 sec)

mysql> insert into ConvertDatetimeToDate values(date_add(now(),interval -1 year));
Query OK, 1 row affected (0.16 sec)

上に挿入されたすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from ConvertDatetimeToDate;

以下は出力です-

+---------------------+
|       YourDatetime  |
+---------------------+
| 2018-11-28 16:12:50 |
| 2018-11-26 16:13:00 |
| 2019-11-27 16:13:13 |
| 2017-11-27 16:13:24 |
+---------------------+
4 rows in set (0.00 sec)

これで、上記の構文を適用して日時を日付にキャストできます。クエリは次のとおりです-

mysql> select cast(YourDatetime as Date) as OnlyDateDemo from ConvertDatetimeToDate;

以下は出力です-

+--------------+
| OnlyDateDemo |
+--------------+
| 2018-11-28   |
| 2018-11-26   |
| 2019-11-27   |
| 2017-11-27   |
+--------------+
4 rows in set (0.00 sec)

  1. MySQLで日付形式を変換する方法は?

    日付形式を変換するには、STR_TO_DATE()-を使用します mysql> create table DemoTable2010 (    DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2010 values('12/10/2019 12:34:00'); Query OK, 1 row affected (0.13 sec) mysql>

  2. Pythonを使用してMySQLに日付オブジェクトを挿入する方法は?

    MySQLデータベースに日付を挿入するには、テーブルに「日付」または「日時」の列が必要です。それができたら、データベースに挿入する前に、日付を文字列形式に変換する必要があります。これを行うには、datetimeモジュールのstrftimeフォーマット関数を使用できます。 例 from datetime import datetime now = datetime.now() id = 1 formatted_date = now.strftime('%Y-%m-%d %H:%M:%S') # Assuming you have a cursor named cursor you