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

LOCATE()関数と同じように機能するMySQL関数はどれですか?


MySQLのINSTR()およびPOSITION()関数は、LOCATE()関数と同様に機能します。どちらもLOCATE()関数の同義語です。

INSTR()関数は、文字列から検索した後、部分文字列が最初に出現する位置も返します。 INSTR()の構文は次のとおりです-

INSTR()の構文

INSTR(string, substring)

ここで、StringはMySQLが検索する文字列であり、substringは検索される文字列です。

mysql> Select INSTR('Ram is a good boy', 'good')As Result;
+--------+
| Result |
+--------+
|     10 |
+--------+
1 row in set (0.00 sec)

POSITION()関数は、文字列から検索した後、部分文字列が最初に出現する位置も返します。 POSITION()の構文は次のとおりです-

POSITION()の構文

INSTR(substring IN string)

ここで、Stringは、MySQLが検索する文字列です。

サブストリングは、検索されるストリングです。

「IN」はキーワードです。

mysql> Select POSITION('good' in 'Ram is a good boy')As Result;
+--------+
| Result |
+--------+
|     10 |
+--------+
1 row in set (0.00 sec)

  1. 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

  2. MySQLにOracleのtrunc(sysdate)に似た関数はありますか?

    はい、DATE()を使用してMySQLの日付部分のみを取得でき、CURDATE()を使用してMySQLの現在の日付を取得できます。 現在の日付は次のとおりです- mysql> select curdate(); +------------+ | curdate()  | +------------+ | 2019-10-20 | +------------+ 1 row in set (0.00 sec) まずテーブルを作成しましょう- mysql> create table DemoTable1613    -> (   &nbs