Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Letzte Ziffer eines Integers abfragen (https://www.delphipraxis.net/173141-letzte-ziffer-eines-integers-abfragen.html)

Ykcim 8. Feb 2013 21:12

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

Furtbichler 8. Feb 2013 21:21

AW: Letzte Ziffer eines Integers abfragen
 
Code:
select * from Tabelle
where Auftragsmenge % 10 <> 1
Modulo heißt das Zauberwort.

mkinzler 8. Feb 2013 21:23

AW: Letzte Ziffer eines Integers abfragen
 
SQL-Code:
select * from Tabelle
where Frac( Auftragsmenge / 10) <> 1;

Ykcim 8. Feb 2013 22:00

AW: Letzte Ziffer eines Integers abfragen
 
Vielen Dank!

Delphi-Quellcode:
select * from Tabelle
 where Auftragsmenge % 10 <> 1
Klappt prima!

Schönes Wochenende
Patrick

Amateurprofi 8. Feb 2013 23:01

AW: Letzte Ziffer eines Integers abfragen
 
Zitat:

Zitat von mkinzler (Beitrag 1202660)
SQL-Code:
select * from Tabelle
where Frac( Auftragsmenge / 10) <> 1;

Ich denke "Frac( Auftragsmenge / 10) <> 1" wird immer True ergeben.
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.

p80286 8. Feb 2013 23:16

AW: Letzte Ziffer eines Integers abfragen
 
Ich würde es so lösen:
Code:
if copy(inttostr(wert),length(inttostr(wert),1)='1'
Gruß
K-H

Bummi 8. Feb 2013 23:29

AW: Letzte Ziffer eines Integers abfragen
 
@p80286 wäre aber keine SQL-Syntax mehr
und ob MySQL SQL-Syntax wie
Code:
  RIGHT(Cast(Wert as varchar(20)),1)='1'
versteht weiß ich nicht

Furtbichler 9. Feb 2013 07:41

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:

Zitat von Ykcim (Beitrag 1202658)
Bei uns werden Aufträge, die das erste Mal gemacht werden, mit einer 1 als letzte Ziffer in der Auftragsmenge gekennzeichnet (45.001).

weil ich mich auch gerade mit so einem Murks herum schlagen muss.

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.

Bummi 9. Feb 2013 07:55

AW: Letzte Ziffer eines Integers abfragen
 
Zitat:

In meinen Augen ist das eher eine Lösung à la 'wie mache ich es möglichst kompliziert'.
sehe ich ebenso, ich habe nur versucht den Delphicode angenähert in SQL zu überführen

Furtbichler 9. Feb 2013 08:04

AW: Letzte Ziffer eines Integers abfragen
 
Ich meinte natürlich nicht deine Korrektur, sondern den Vorschlag von p80286.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz