Einzelnen Beitrag anzeigen

Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#1

Max. Integerwert in Varchar anzeigen

  Alt 10. Okt 2008, 22:04
Datenbank: Firebird & MySQL • Version: 2 • Zugriff über: UniDAC
Ich habe in einer Tabelle ein Attribut "kundennr", welches ich als Varchar angelegt habe.

Da können nun reine kundennummern drin stehen, aber auch namen usw.
Jetzt möchte ich beim Anlegen eines neuen Kunden lediglich die höchste Kundennummer ermitteln und diese um 1 erhöhen.

In MySQL mache ich das so:
SELECT max(kundennr) as nummer FROM kundenstamm WHERE convert(kundennr,unsigned integer)>0; bzw.
SELECT max(kundennr) as nummer FROM kundenstamm WHERE Cast(kundennr as unsigned)>0; In Firebird klappt das ganze nicht. Die Funktion convert existiert dort nicht und cast gibt einen Fehler zurück, sobald ein alphanumerischer Wert existiert: conversion error from string '<hier der feldwert>'

den Datentypen unsigned habe ich bei Firebird als Domain angelegt, damit das Programm sowohl unter MySQL als auch unter Firebird läuft und ich keine gesonderten Abfragen benutzen muss.



Kennt da wer eine Möglichkeit, wie man das mit der selben Abfrage unter beiden Datenbanken bewerkstelligen kann?
  Mit Zitat antworten Zitat