Abfrage einer Spalte vom Type decimal(10,2)

Sven4972

Mitglied
Hallo,

ich habe in einer Tabelle eine Spalte betrag mit dem Typ decimal(10,2).

Dort sind zum Beispiel folgende Werte gespeichert

10.00
12.00
13.75
42.72
17.33
15.55

Gibt es jetzt die Möglichkeit nur die Werte anzeigen zu lassen,
wo die 2. Stelle hinter dem Punkt nicht 0 ist?


LG Sven
 
Eine Möglichkeit wäre (vllt. unperformante) die Zahlen zuerst zu Strings zu konvertieren und dann die letzte Stelle mit '0' zu vergleichen:
SQL:
SELECT betrag FROM yourTable WHERE SUBSTRING(CONVERT(betrag, CHAR), LENGTH(CONVERT(betrag, CHAR)), 1)!='0'
 
Alles viel zu kompliziert.
SQL:
SELECT
	betrag
FROM
	myTable
WHERE
	RIGHT(betrag, 1) = 0

Da das Feld als dezimal(?,2) definiert ist, hat es bei der automatischen Stringumwandlung für den RIGHT-Befehl automatisch 2 Nachkommastellen. Also auch aus 1,5 kommt so bei RIGHT eine 0 heraus.

Nachtrag:
@Kalito
Mach mal ein Beispiel. Ich kann mir grad keine Sinnvolle Lösung zu diesem Problem mit NOT EXISTS bzw NOT IN vorstellen.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück