Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So kombinieren Sie den IN-Operator mit der LIKE-Bedingung (oder am besten, um vergleichbare Ergebnisse zu erhalten)

Das Verknüpfen Ihrer Präfixtabelle mit Ihrer eigentlichen Tabelle würde sowohl in SQL Server als auch in Oracle funktionieren.

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