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

IN演算子をLIKE条件と組み合わせる方法(または同等の結果を得る最良の方法)

    プレフィックステーブルを実際のテーブルに結合すると、SQLServerとOracleの両方で機能します。

    DECLARE @Table TABLE (field VARCHAR(32))
    DECLARE @Prefixes TABLE (prefix VARCHAR(32))
    
    INSERT INTO @Table VALUES ('ABC')
    INSERT INTO @Table VALUES ('DEF')
    INSERT INTO @Table VALUES ('ABDEF')
    INSERT INTO @Table VALUES ('DEFAB')
    INSERT INTO @Table VALUES ('EFABD')
    
    INSERT INTO @Prefixes VALUES ('AB%')
    INSERT INTO @Prefixes VALUES ('DE%')
    
    SELECT  t.*
    FROM    @Table t
            INNER JOIN @Prefixes pf ON t.field LIKE pf.prefix 
    


    1. カンマ区切りの値を個々の行に分割します

    2. 代理キーで逆インデックスを使用することをお勧めしますか? (Oracle)

    3. UPDATE..SqlAlchemyとPostgreSQLでの制限1

    4. シリアル化の失敗:ロックを取得しようとしたときにデッドロックが見つかりました