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

MySQLでdoubleとdateをVARCHARに保存しても大丈夫ですか?


はい、doubleとdateをVARCHARに保存できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Amount varchar(20),
   -> JoiningDate varchar(20)
   -> );
Query OK, 0 rows affected (0.96 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。 varchardoubleとdateの値を挿入しています-

mysql> insert into DemoTable values('150.50','Oct 10,2019');
Query OK, 1 row affected (0.91 sec)
mysql> insert into DemoTable values('173.45','Sept 11,2018');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('173.90','Jan 01,2017');
Query OK, 1 row affected (0.16 sec)

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

mysql> select * from DemoTable;

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

+--------+--------------+
| Amount | JoiningDate  |
+--------+--------------+
| 150.50 | Oct 10,2019  |
| 173.45 | Sept 11,2018 |
| 173.90 | Jan 01,2017  |
+--------+--------------+
3 rows in set (0.00 sec)

現在、VARCHARレコードをDOUBLEおよびDATEタイプに保存しています-

mysql> select Amount+0.0 as DoubleValue,str_to_date(JoiningDate,'%M %d,%Y') as Date from DemoTable;

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

+-------------+------------+
| DoubleValue | Date       |
+-------------+------------+
|       150.5 | 2019-10-10 |
|      173.45 | 2018-09-11 |
|       173.9 | 2017-01-01 |
+-------------+------------+
3 rows in set (0.04 sec)

  1. MySQLは*を選択し、現在の日付のレコードを検索します

    現在の日付には、CURDATE()を使用します。また、STR_TO_DATE()を使用して日付をフォーマットし、次の構文のように現在の日付と比較します- 構文 select *from yourTableName where str_to_date(yourColumnName,'yourFormatSpecifier')=curdate(); 現在の日付が2019年10月27日だとします。 まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Joi

  2. MySQLで文字列と数値を含むVARCHARレコードを注文する

    これには、ORDERBY句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentCode varchar(20)    -> ); Query OK, 0 rows affected (0.57 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('101J'); Query OK, 1 row a