sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor find_in_set virker, men IN-klausul

IN accepterer en liste eller parametre for at søge, FIND_IN_SET accepterer en strengparameter, der indeholder en kommasepareret liste:

SELECT  1 IN (1, 2, 3, 4)

SELECT  FIND_IN_SET(1, '1,2,3,4')

Hvis du prøver at anvende IN til en kommasepareret streng, vil den behandle den som en enkelt parameter og matche den som en helhed:

SELECT  1 IN ('1,2,3,4')

Selvfølgelig, strengen '1' er ikke lig med strengen '1,2,3,4' så forespørgslen ovenfor returnerer falsk.



  1. Hvordan får jeg et Oracle SCHEMA som DDL-scripts med DBMS_METADATA (og SCHEMA_EXPORT)

  2. Indekseret BESTIL AF med LIMIT 1

  3. Sådan opretter du en fremmednøgle i SQL Server (T-SQL-eksempler)

  4. Hvad skete der først i mysql:join eller hvor