MySQL DATE_ADD()を使用して、別の列の値に基づいて日付をインクリメントしますか?
最初に、列の1つをDueDateとして、もう1つを「RepeatTime」としてテーブルを作成します。これは、ユーザーが支払いを送信するように通知されたとしましょう-
>mysql> create table DemoTable -> ( -> DueDate date, -> RepeatTime int -> ); Query OK, 0 rows affected (0.57 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('2019-01-23',3); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('2019-06-22',6); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('2019-03-28',2); Query OK, 1 row affected (0.25 sec) mysql> insert into DemoTable values('2017-07-25',6); Query OK, 1 row affected (0.15 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
出力
これにより、次の出力が生成されます-
+------------+------------+ | DueDate | RepeatTime | +------------+------------+ | 2019-01-23 | 3 | | 2019-06-22 | 6 | | 2019-03-28 | 2 | | 2017-07-25 | 6 | +------------+------------+ 4 rows in set (0.00 sec)
これは、別の列の値に基づいて日付をインクリメントするクエリです-
mysql> update DemoTable set DueDate=date_add(DueDate,interval RepeatTime MONTH) where RepeatTime!=6; Query OK, 2 rows affected (0.25 sec) Rows matched: 2 Changed: 2 Warnings: 0
テーブルレコードをもう一度確認しましょう-
mysql> select *from DemoTable;
出力
これにより、次の出力が生成されます-
+------------+------------+ | DueDate | RepeatTime | +------------+------------+ | 2019-04-23 | 3 | | 2019-06-22 | 6 | | 2019-05-28 | 2 | | 2017-07-25 | 6 | +------------+------------+ 4 rows in set (0.00 sec)
-
MySQLで選択した値が「0」の場合は別の列から選択しますか?
これには、MySQLでIF()を使用します。構文は次のとおりです- select IF(yourColumnName1=0,yourColumnName2,yourColumnName1) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo30 −> ( −> id int not null auto_increment primary key, −> value int, −> original_value int
-
MySQLの列の最大値を見つける
MAX(columnName)を使用して、列の最大値を見つける必要があります。ただし、最初は、MySQLのデータベースとテーブルについて理解します。 MySQLをインストールする前に、どのバージョンとどの配布形式(バイナリファイルまたはソースファイルから)を使用するかを決定することが重要です。データベースが新しく作成された場合、データベースにテーブルがないことは明らかです。 最も重要な部分の1つは、データベースの構造、必要なテーブル、すべてのテーブルの列、およびこれらのテーブル間の関係を決定することです。データベースに含める必要のあるもの、データベースの適切な名前、および適切な列名と行の値