MySQLクエリで使用する独自のMySQL関数を作成できますか?
はい、MySQLクエリで使用する独自のMySQL関数を作成できます。構文は次のとおりです。
DELIMITER // CREATE FUNCTION yourFunctionName(optional parameters)) RETURNS yourDataType DETERMINISTIC NO SQL BEGIN yourStatements1 . . . . N END // DELIMITER ;
上記のCREATEFUNCTIONを使用して、カスタム関数を作成しました。
MySQLクエリで使用するカスタムMySQL関数を作成しましょう:
mysql> DELIMITER //
mysql> CREATE FUNCTION get_First_Name(Name VARCHAR(255)) RETURNS
VARCHAR(255)
DETERMINISTIC
NO SQL
BEGIN
RETURN LEFT(Name,LOCATE(' ',Name) - 1);
END
//
Query OK, 0 rows affected (0.20 sec)
mysql> DELIMITER ; 次に、SELECTステートメントを使用して上記の関数を呼び出します。
mysql> select get_First_Name('David Miller'); これにより、次の出力が生成されます。
+--------------------------------+
| get_First_Name('David Miller') |
+--------------------------------+
| David |
+--------------------------------+
1 row in set, 2 warnings (0.00 sec)> -
MySQLでORDERBYNULLを使用できますか?
はい、できます 注 −MySQL5.7以前はORDERBYNULLが便利でしたが、MySQL 8.0では、たとえば、暗黙の並べ替えを抑制するために最後にORDERBYNULLを指定する必要がなくなりました。 まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Name varchar(10) -> ); Query OK, 0 rows affected (1.01 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable v
-
MySQL WHERE句でSUM()関数の結果を使用できますか?
MySQLのWHEREではなくHAVING句を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable ( Name varchar(50), Price int ); Query OK, 0 rows affected (0.79 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris',30); Query OK, 1 row affected (0.15