sql >> Databáze >  >> RDS >> Mysql

Formát proměnné MySQL pro seznam hodnot NOT IN

Nemůžete použít IN taková klauzule. Zkompiluje se do jednoho řetězec ve vašem IN doložka. Ale IN doložka potřebuje samostatné hodnoty.

WHERE id_campo not in (@idcamposexcluidos)

zkompiluje do

WHERE id_campo not in ('817,803,495')

ale mělo by to být

WHERE id_campo not in ('817','803','495')

Chcete-li to překonat, použijte dynamické SQL nebo v MySQL můžete použít FIND_IN_SET :

SET @idcamposexcluidos='817,803,495';
...
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0

ale pomocí funkce jako FIND_IN_SET() nemůže používat indexy.



  1. Video:Oracle 12c IDENTITY Column Performance na RAC

  2. Aritmetická chyba přetečení při převodu výrazu na datový typ datetime. (při zobrazení data a času..)

  3. Tabulka s hodnotou Ekvivalent parametru v Postgresql

  4. Opakující se hodnoty ve sloupci