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

MYSQL変数IN句

    MySQLの find_in_set() 機能:

    SELECT
        *
    FROM
        your_table
    WHERE
        NOT FIND_IN_SET(User.user_name, @valid_users);
    

    これを機能させるには、カンマ区切りのリストに引用符を含めないでください(ユーザー名に実際に引用符が含まれている場合を除く)。また、スペースを埋めないでください。

    SET @valid_users := 'admin,jrock,kmicka,First Last';
    

    SqlFiddleの例

    NOT INの変数がなぜであるかに関する質問に直接答えるため フィルタ作業」、それは@valid_usersによるものです は文字列として扱われ、IN()に渡すと 、単一の文字列として扱われています(つまり、セット/リストではありません)。 FIND_IN_SET()を使用 、@valid_usersの文字列を処理します カンマで区切られたセット/リストとして使用し、それに応じて使用します。




    1. WiXで、Oracle ODP.Netのレジストリキー(値ではない)の存在をテストするにはどうすればよいですか。

    2. Oracleのデフォルトの日付形式はYYYY-MM-DDですが、なぜですか?

    3. 現在のページの製品のページネーションカウント範囲

    4. テーブルをパラメータとしてSQLサーバーUDFに渡します