Autor Beitrag
theomega
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 07.08.03 14:35 
Hallo Leute
ich habe eine Tabelle mit einem feld "kontonr". Das ist ein varchar mit 4 Zeichen. Jetzt brauche ich ein zweites Feld, am besten Boolean (gibt es leider unter Firebird nicht also eine Integer mit 0/1), das wenn das erste Zeichen (immer eine Zahl) kleiner ist als 4 true ist und sonst false.
Natürlich kann ich das Feld bei jeder Änderung an der Datenbank neu berechnen, aber das ist ja ziemlich aufwendig. Wie kann ich in die Tabelle einfach ein "virtuelles Feld" einfügen, das wie oben angegeben, die Werte hat.

Datenbank ist Firebird
Kompos sind die Std. Interbase

Grüße
TO
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Do 07.08.03 15:39 
In einem Select-Statement kann man in einigen Datenbanken komplette IF-Abfragen einbauen.

Ich kanns Dir nur schreiben, wie es unter mySQL geht:

SELECT kontonummer, if(LEFT(kontonummer, 1) < 4), 1, 0) FROM tabelle

Viele Grüße,

Matthias

_________________
Ha! Es compiliert! Wir können ausliefern!
theomega Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 07.08.03 17:09 
leider geht das unter Interbase/Firebird nicht so! Weiß jemand wie es dann geht? Einfach den ersten Buchstaben in eine Zahl konvertieren und schauen ob größer 4 oder kleiner 4!