Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Max. Integerwert in Varchar anzeigen (https://www.delphipraxis.net/122174-max-integerwert-varchar-anzeigen.html)

Morphie 10. Okt 2008 22:04

Datenbank: Firebird & MySQL • Version: 2 • Zugriff über: UniDAC

Max. Integerwert in Varchar anzeigen
 
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:
SQL-Code:
SELECT max(kundennr) as nummer FROM kundenstamm WHERE convert(kundennr,unsigned integer)>0;
bzw.
SQL-Code:
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?

Dax 10. Okt 2008 22:15

Re: Max. Integerwert in Varchar anzeigen
 
Zitat:

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

INTs als Schlüsselspalte benutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 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