AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Letzte Ziffer eines Integers abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Letzte Ziffer eines Integers abfragen

Ein Thema von Ykcim · begonnen am 8. Feb 2013 · letzter Beitrag vom 12. Feb 2013
Antwort Antwort
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.100 Beiträge
 
Delphi XE2 Professional
 
#1

AW: Letzte Ziffer eines Integers abfragen

  Alt 8. Feb 2013, 23:01
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.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Letzte Ziffer eines Integers abfragen

  Alt 8. Feb 2013, 23:16
Ich würde es so lösen:
Code:
if copy(inttostr(wert),length(inttostr(wert),1)='1'
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Letzte Ziffer eines Integers abfragen

  Alt 8. Feb 2013, 23:29
@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
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Letzte Ziffer eines Integers abfragen

  Alt 9. Feb 2013, 07:41
In meinen Augen ist das eher eine Lösung à la 'wie mache ich es möglichst kompliziert'.

Vielleicht noch Wort zu
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Letzte Ziffer eines Integers abfragen

  Alt 9. Feb 2013, 07:55
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
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: Letzte Ziffer eines Integers abfragen

  Alt 9. Feb 2013, 08:04
Ich meinte natürlich nicht deine Korrektur, sondern den Vorschlag von p80286.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#7

AW: Letzte Ziffer eines Integers abfragen

  Alt 12. Feb 2013, 14:59
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.
Um das mal "theoretisch" abzurunden: das ist eine Verletzung der 1. Normalform.
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
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 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-2025 by Thomas Breitkreuz