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

日付がVARCHAR形式の場合、MySQLから特定のレコードを選択するにはどうすればよいですか?


これには、STR_TO_DATE()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   DueDate varchar(60)
) ;
Query OK, 0 rows affected (0.71 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('12-AUG-2016');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('14-AUG-2018');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('24-AUG-2012');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('14-AUG-2012');
Query OK, 1 row affected (0.19 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-------------+
| DueDate     |
+-------------+
| 12-AUG-2016 |
| 14-AUG-2018 |
| 24-AUG-2012 |
| 14-AUG-2012 |
+-------------+
4 rows in set (0.00 sec)

以下は、日付がVARCHAR形式の場合にMySQLからレコードを選択するためのクエリです。 STR_TO_DATE()メソッドは、文字列を日付に変換するために使用されます-

mysql> select *from DemoTable where str_to_date(DueDate,'%d-%M-%Y')=str_to_date('14-AUG-2012','%d-%M-%Y');

これにより、次の出力が生成されます-

+-------------+
| DueDate     |
+-------------+
| 14-AUG-2012 |
+-------------+
1 row in set (0.00 sec)

  1. MySQLから最後の10行を選択するにはどうすればよいですか?

    MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(

  2. 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>