![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: IBConsole
Firebird abprüfen auf 0/NULL
Was ist eigentlich besser für diese Abprüfung
SQL-Code:
SELECT * FROM B WHERE (B.ABGESCHLOSSEN = 0) OR (B.ABGESCHLOSSEN IS NULL)
SQL-Code:
oder mit nem IIF oder mit einem CASE ?
SELECT * FROM B WHERE COALESCE(B.ABGESCHLOSSEN, 0) = 0
ich habs in meinem Source mal so und mal so, und möchte es jetzt mal auf gleichen Stand bringen, nur was gibts für vor und nachteile ? |
Re: Firebird abprüfen auf 0/NULL
hier ist der schnellste Code der Beste :-D
Überprüfe einfach, ob der passende Index verwendet wird. Gruß Malte |
Re: Firebird abprüfen auf 0/NULL
Hallo,
noch etwas zum Datenmodell. Oft wird keine tri-state logic gebraucht. Für ein Datenfeld mit dem Namen ABGESCHLOSSEN könnte ich mir einen constraint default 0 sehr gut vorstellen. Grüße vom marabu |
Re: Firebird abprüfen auf 0/NULL
Hmmm, Index hab ich keinen auf das Feld (Hab doch mal irgendwo gelesen, das ein Index auf ein Feld nix bringt, wo nur wenig unterschiedliche Werte drinnen stehen)
Glaub ich werd das mit dem constraint verwenden, gefällt mir auch ganz gut |
Re: Firebird abprüfen auf 0/NULL
Zitat:
Und wenn ich die 7999995 anderen will, dann klammere ich den Index ggf. mit einem separaten Indexplan aus. Gruß Malte |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz