![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: UniDac
Letzte Ziffer eines Integers abfragen
Guten Abend Zusammen,
ich möchte die letzte Ziffer in einem Integerwert abfragen und weiß nicht, wie ich das machen soll. Hintergrund: Bei uns werden Aufträge, die das erste Mal gemacht werden, mit einer 1 als letzte Ziffer in der Auftragsmenge gekennzeichnet (45.001). In einer Analyse möchte ich diese wahlweise nicht berücksichtigen. Ich bräuchte soetwas wie:
Delphi-Quellcode:
select * from Tabelle
where letzte Ziffer von Auftragsmenge<>1 Hat einer eine Idee, wie ich das anstellen muss? Vielen Dank Patrick |
AW: Letzte Ziffer eines Integers abfragen
Code:
Modulo heißt das Zauberwort.
select * from Tabelle
where Auftragsmenge % 10 <> 1 |
AW: Letzte Ziffer eines Integers abfragen
SQL-Code:
select * from Tabelle
where Frac( Auftragsmenge / 10) <> 1; |
AW: Letzte Ziffer eines Integers abfragen
Vielen Dank!
Delphi-Quellcode:
Klappt prima!
select * from Tabelle
where Auftragsmenge % 10 <> 1 Schönes Wochenende Patrick |
AW: Letzte Ziffer eines Integers abfragen
Zitat:
Wenn, dann (10 * Frac( Auftragsmenge / 10)) <> 1, aber auch das dürfte problematisch sein, weil bei der Division durch 10 ein Wert entsteht, der binär nicht exakt darstellbar ist. Modulo, wie von Furtbichler vorgeschlagen, ist wohl sinnvoller. |
AW: Letzte Ziffer eines Integers abfragen
Ich würde es so lösen:
Code:
Gruß
if copy(inttostr(wert),length(inttostr(wert),1)='1'
K-H |
AW: Letzte Ziffer eines Integers abfragen
@p80286 wäre aber keine SQL-Syntax mehr
und ob MySQL SQL-Syntax wie
Code:
versteht weiß ich nicht
RIGHT(Cast(Wert as varchar(20)),1)='1'
|
AW: Letzte Ziffer eines Integers abfragen
In meinen Augen ist das eher eine Lösung à la 'wie mache ich es möglichst kompliziert'.
Vielleicht noch Wort zu Zitat:
Eigenschaften sollten nie nie niemals in andere Eigenschaften kodiert werden. Wenn es wichtig ist zu wissen, das ein Auftrag 'das erste Mal gemacht' wurde, dann sollte die Tabelle eine Spalte/Feld Namens 'dasersteMal' bekommen. |
AW: Letzte Ziffer eines Integers abfragen
Zitat:
|
AW: Letzte Ziffer eines Integers abfragen
Ich meinte natürlich nicht deine Korrektur, sondern den Vorschlag von p80286.
|
AW: Letzte Ziffer eines Integers abfragen
Zitat:
Die kanonische Lösung wäre das einzelne Speichern der Daten und das Benutzen von Views zur Darstellung der kodierten Nummer für die Anwendung. Abgesehen davon ist das Markieren der ersten Aufträge redundant, wenn das Datum des Auftrags mit abgespeichert wird. Das scheint nicht so schlimm zu sein, da man im Zweifelsfall immer noch auf das Datum zurückgreifen kann. Trotzdem könnte eine Inkonsistenz eventuell merkwürdige Effekte auslösen :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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