Kommastellen im SQL Select?
Hallo ich brauche den SELECT Befehl um selektieren zu können, damit mir nur werte mit mehr als 2 Nachkommastellen angezeigt werden. Also 89,99 wird nicht angezeigt aber 98,999 oder 98,9999.
3 Antworten
Ergänzend: Eine mysql Datenbank speichert Zahlen mit Nachkommastellen im Feldtyp Float oder Decimal. Das Nachkommazeichen ist im Deutschen das ",". Bei der MySQL Datenbank ist es jedoch der "." Punkt. Speicherst Du jedoch 9,998 in einem Feld vom Typ Float macht er 9 daraus und schiebt eventuell gütigerweise eine Warnmeldung hinterher.
Was anderes ist es wenn Du die den Feldtyp 'Var Char' genommen hast. Dort ist dann die 'Zahl' wie ein String zu behandeln.
Ich tu jetzt einfach mal so, als wenn die aktuelle Nummer, die geprüft werden soll, in der Column "decimalNum" steht
SELECT LENGTH(SUBSTRING(decimalNum, INSTR(decimalNum, ".")+1,16)) AS decimalPlaces;
MFG xGlumi
Ich verstehe dein Kommentar nicht ganz, aber kommentier doch einmal deine Query, die du bis jetzt hast, und versuch nocheinmal genau zu erklären was du ausgegeben haben möchtest. Dann kann ich das für die umbauen.
MFG xGlumi
Dort erscheint dann decimalPlaces und der Wert 6. Ich möchte es so haben, das er mir die nicht zählt sonder alle werte mit der eindeutigen schlüssel ID ausgibt sodass ich dann alle werte die mehr als zwei werte hinter dem Koma haben später weiter verarbeiten kann und daraus eine liste erstellen kann.
Dann liefer mir doch endlich mal deine aktuelle Query, oder zumindest die Columnnames der schlüsselID ^^
Nuja, ich erstelle dir dann jetzt halt einfach eine Query, die mit Beispieldaten funktioniert.
SELECT schluesselID FROM meineTabelle WHERE LENGTH(SUBSTRING(decimalNum, INSTR(decimalNum, ".")+1,16))> 2;
Wenn du alle Daten der gefundenen Reihe ausgeben willst, dann ersetz "schluesselID" durch ein strenchen "*"
MFG xGlumi
könnte man umgehen mit einem IF aussenrum.
if *die length der nachkommastelle* > 2...
...select...
if im sql query..? das funkt vllt bei nosql mit js aber nicht unbedingt bei anderen systemen
Hi, danke dir das klappt soweit. Nur kann ich damit auch anzeigen wo der wert herkommt? also b.s. ID 1 Name Test Wert 98,999 also das das in der reihe angezeigt wird ?