特定の数値の階乗を計算するMySQLストアド関数を作成するにはどうすればよいですか?
以下は、指定された数値の階乗を計算できるストアド関数の例です-
CREATE FUNCTION factorial (n DECIMAL(3,0)) RETURNS DECIMAL(20,0) DETERMINISTIC BEGIN DECLARE factorial DECIMAL(20,0) DEFAULT 1; DECLARE counter DECIMAL(3,0); SET counter = n; factorial_loop: REPEAT SET factorial = factorial * counter; SET counter = counter - 1; UNTIL counter = 1 END REPEAT; RETURN factorial; END // mysql> Select Factorial(5)// +--------------+ | Factorial(5) | +--------------+ | 120 | +--------------+ 1 row in set (0.27 sec) mysql> Select Factorial(6)// +--------------+ | Factorial(6) | +--------------+ | 720 | +--------------+ 1 row in set (0.00 sec)
-
MySQLストアド関数をデータベースから削除するにはどうすればよいですか?
ALTER ROUTINE権限がある場合は、DROP FUNCTIONステートメントを使用して、MySQLストアド関数を削除できます。その構文は次のようになります- 構文 DROP FUNCTION [IF EXISTS] function_name ここで、function_nameは、データベースから削除する関数の名前です。 例 mysql> DROP FUNCTION if exists Hello1; Query OK, 0 rows affected (0.70 sec) 関数を削除した後、CREATE FUNCTIONステートメントを確認すると、次のようなエラーが発生します
-
MySQLで日数を数えるにはどうすればよいですか?
まず、1つの列を日時として、別の列に日が格納されているテーブルを作成しましょう。 mysql> create table DemoTable ( ShippingDate datetime, CountOfDate int ); Query OK, 0 rows affected (0.52 sec) 以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。 mysql> insert into DemoTable values('2018-01-31',6); Query OK,