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

IF STATEMENTMySQLでWHILELOOPを実装する方法は?


以下は、IFステートメントを使用してMySQLWHILELOOPを実装する例です。ストアドプロシージャで使用しています

以下は、ストアドプロシージャを作成するためのクエリです。

mysql> DELIMITER //
mysql> create procedure sp_getDaysDemo()
   -> BEGIN
   -> SELECT MONTH(CURDATE()) INTO @current_month;
   -> SELECT MONTHNAME(CURDATE()) INTO @current_monthname;
   -> SELECT DAY(LAST_DAY(CURDATE())) INTO @total_numberofdays;
   -> SELECT CAST(DATE_FORMAT(NOW() ,'%Y-%m-01') as DATE)INTO @check_weekday;
   -> SELECT DAY(@check_weekday) INTO @check_day;
   -> SET @count_days = 0;
   -> SET @workdays = 0;
   ->
   -> WHILE(@count_days < @total_numberofdays) DO
   -> IF (WEEKDAY(@check_weekday) < 5) THEN
   -> SET @workdays = @workdays+1;
   -> END IF;
   -> SET @count_days = @count_days+1;
   -> SELECT ADDDATE(@check_weekday, INTERVAL 1 DAY) INTO @check_weekday;
   -> END WHILE;  
   ->
   -> select @current_month,@current_monthname,@total_numberofdays,@check_weekday,@check_day;
   -> END
   ->
   -> //
Query OK, 0 rows affected (0.24 sec)
mysql> delimiter ;

CALLコマンドを使用してストアドプロシージャを呼び出します。構文は次のとおりです。

CALL yourStoredProcedureName();

これで、次のクエリを使用してストアドプロシージャを呼び出すことができます。

mysql> call sp_getDaysDemo();

出力は次のとおりです。

+----------------+--------------------+---------------------+----------------+------------+
| @current_month | @current_monthname | @total_numberofdays | @check_weekday | @check_day |
+----------------+--------------------+---------------------+----------------+------------+
|              1 | January            | 31                  | 2019-02-01     |          1 |
+----------------+--------------------+---------------------+----------------+------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

  1. MySQLを使用したJavaでのselectクエリにプリペアドステートメントを使用するにはどうすればよいですか?

    これにはexecuteQuery()を使用する必要があります。構文は次のとおりです- yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName); yourresultSetObject=yourPreparedStatementObject.executeQuery(); データベースの「サンプル」にテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table JavaPreparedStatement -> ( -

  2. Python whileループはどのように機能しますか?

    whileステートメントは、Pythonを含む多くの言語で非常に人気のあるループステートメントです。一般的な使用法は-です while expr==True:     stmt1     stmt2     ..... exprがtrueである限り、:記号の後にインデントが増加したステートメントのブロックが繰り返し実行されます。明らかに、特定のプロビジョニングがブロック内に存在する必要があります。これにより、最終的にexprがfalseになります。そうでない場合、ループは無限になります。 これを行う最も簡単な方法は、カウントされた