sql >> データベース >  >> RDS >> MariaDB

MariaDBでのRLIKEの仕組み

    MariaDBでは、 RLIKE 演算子は、文字列が正規表現に一致するかどうかを判断するために使用されます。これは、 REGEXPの同義語です。 。

    文字列が指定された正規表現と一致する場合、結果は 1になります。 、それ以外の場合は 0

    構文

    構文は次のようになります:

    expr RLIKE pat

    expr 入力文字列であり、 pat 文字列をテストする正規表現です。

    SELECTでこの演算子を使用する方法の例を次に示します。 ステートメント:

    SELECT 'Tweet' RLIKE '^Tw.*t$';

    結果:

    +-------------------------+
    | 'Tweet' RLIKE '^Tw.*t$' |
    +-------------------------+
    |                       1 |
    +-------------------------+
    

    この場合、戻り値は 1です。 これは、入力文字列が正規表現と一致したことを意味します。特に、入力文字列は Twで始まるように指定しました tで終わります (これは、パターンを ^ Twで開始したためです。 t $で終了しました )。 partは任意の文字を指定し、 * その(任意の)文字の任意の数に対してゼロになる可能性があることを指定します。つまり、。* 開始と終了の間に文字がない、1文字、または多くの文字が存在できないことを意味します。

    *を削除するとどうなりますか :

    SELECT 'Tweet' RLIKE '^Tw.t$';

    結果:

    +------------------------+
    | 'Tweet' RLIKE '^Tw.t$' |
    +------------------------+
    |                      0 |
    +------------------------+

    返される結果は0です。 これは一致しないことを意味します。これは、が原因です。 任意の文字のインスタンスを1つだけ指定します。入力文字列には2つのインスタンスが含まれています。

    ここにいくつかの順列があります:

    SELECT 
      'Twet' RLIKE '^Tw.t$' AS "Twet",
      'Twit' RLIKE '^Tw.t$' AS "Twit",
      'Twt' RLIKE '^Tw.t$' AS "Twt",
      'Tw.t' RLIKE '^Tw.t$' AS "Tw.t";

    結果:

    +------+------+-----+------+
    | Twet | Twit | Twt | Tw.t |
    +------+------+-----+------+
    |    1 |    1 |   0 |    1 |
    +------+------+-----+------+

    1. GI19cRPMパッケージマネージャーデータベース

    2. デフォルトの方法で自動データベースのバックアップと復元を実装する

    3. SQL Server 2008のDateTimeOffsetをDateTimeに変換するにはどうすればよいですか?

    4. JDBCを使用してMySqlデータベースに接続する方法