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

Was ist die genaue Bedeutung einer Bedingung wie wo 0=0?

Wir verwenden 0 = 0 oder normalerweise 1 = 1 als Stub :

select *
  from My_Table
 where 1 = 1

Wenn Sie also Filter schreiben, können Sie dies tun, indem Sie einzelne Zeilen hinzufügen/auskommentieren :

-- 3 filters added
select *
  from My_Table
 where 1 = 1
   and (Field1 > 123) -- 1st
   and (Field2 = 456) -- 2nd 
   and (Field3 like '%test%') -- 3d

Bei der nächsten Version werden beispielsweise zwei Filter entfernt:

-- 3 filters added, 2 (1st and 3d) removed
select *
  from My_Table
 where 1 = 1
   -- and (Field1 > 123) -- <- all you need is to comment out the corresponding lines
   and (Field2 = 456)
   -- and (Field3 like '%test%')

Lassen Sie uns nun den 3D-Filter auf sehr einfache Weise wiederherstellen:

-- 3 filters added, 2 (1st and 3d) removed, then 3d is restored
select *
  from My_Table
 where 1 = 1
   -- and (Field1 > 123) 
   and (Field2 = 456)
   and (Field3 like '%test%') -- <- just uncomment