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)
-
MySQLを使用したJavaでのselectクエリにプリペアドステートメントを使用するにはどうすればよいですか?
これにはexecuteQuery()を使用する必要があります。構文は次のとおりです- yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName); yourresultSetObject=yourPreparedStatementObject.executeQuery(); データベースの「サンプル」にテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table JavaPreparedStatement -> ( -
-
Python whileループはどのように機能しますか?
whileステートメントは、Pythonを含む多くの言語で非常に人気のあるループステートメントです。一般的な使用法は-です while expr==True: stmt1 stmt2 ..... exprがtrueである限り、:記号の後にインデントが増加したステートメントのブロックが繰り返し実行されます。明らかに、特定のプロビジョニングがブロック内に存在する必要があります。これにより、最終的にexprがfalseになります。そうでない場合、ループは無限になります。 これを行う最も簡単な方法は、カウントされた