Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL Delphi Tausender-Trennzeichen (https://www.delphipraxis.net/128379-mysql-delphi-tausender-trennzeichen.html)

Ykcim 28. Jan 2009 23:36

Datenbank: MySQL • Version: 5 • Zugriff über: C-Api

MySQL Delphi Tausender-Trennzeichen
 
Hallo Zusammen,

trotz intensiever Suche habe ich noch keine Möglichkeit gefunden, bei einer MySQL Abfrage Zahlen (integer) mit einem Tausender-Trennzeichen zu versehen. Ich hatte gehofft, dass es so einfach wie mit dem Datum ist, wo ich lediglich :

SQL-Code:
DATE_FORMAT(OARMDA,'+#39+'%d.%m.%Y'+#39+')
verwende musste, um aus 2009-01-21 das deutsche Datum 21.01.2009 zu erhalten.

Hat jemand eine Idee, die vielleicht ähnlich einfach ist, wie ich aus 123455 die übersichtlichere Zahl 123.455 erhalten kann?

Kann ich überhaupt Zahlenwerte formatieren?

Vielen Dank im Voraus

Ykcim

sx2008 29. Jan 2009 00:11

Re: MySQL Delphi Tausender-Trennzeichen
 
Also üblicherweise werden Felder (ganz besonders auch Datumsfelder) nicht schon auf der Serverseite sondern erst auf dem Client in der Benutzeroberfläche formatiert.
Der Deutsche sieht dann sein Datum als 29.01.2009 und der Ami als 01/29/09.
Verwendest du TDataset (also TQuery,TTable,TMySQLQuery,..) und datensensitive Controls oder arbeitest du komplett an der VCL vorbei?
Ich frage das, weil du "Zugriff über: C-Api" angegeben hast.

Ykcim 29. Jan 2009 09:46

Re: MySQL Delphi Tausender-Trennzeichen
 
Hallo SX2008,

ich benutze keine Komponenten, da ich mit TurboDelphi arbeite und das klappt auch eigentlich sehr gut!

Das Programm wird nur in Deutschland verwendet werden. Daher wollte ich die Formatierung direkt bei meiner Abfrage durchführen.

Beispiel (wieder das Datum, weil ich für das Tausender-Trennzeichen noch keine Lösung gefunden habe):

Delphi-Quellcode:
query:='select OAAGNR, OAMANR, OAAGBZ, FORMAT(OARMMG,0), OATLKZ, '+
    'DATE_FORMAT(OARMDA,'+#39+'%d.%m.%Y'+#39+') from as400 where '+
    'WAAUNR='+#39+FA_NR.Text+#39+' order by OAAGNR';
    MenueUnit.ExecQuery(DB, query, Cols, Rows);
    MenueUnit.FillGrid(FAINFO, Cols, Rows);
Hast Du da einen Tip, wie ich aus 123456 die Ansicht 132.465 bekommen kann? Gibt es eine Formatierungsmöglichkeit ähnlich die des Datums?

Vielen Dank im Voraus

Ykcim

Gollum 29. Jan 2009 10:01

Re: MySQL Delphi Tausender-Trennzeichen
 
Hallo,

das kannst Du mit der MySQL-Funktion FORMAT() und REPLACE() lösen:
SQL-Code:
  SELECT REPLACE(FORMAT(MeinFeld, 0), ',', '.')
Näheres dazu siehe MySQL-Hilfe.

Ykcim 29. Jan 2009 10:51

Re: MySQL Delphi Tausender-Trennzeichen
 
BOMBE!!!! Super!

Vielen Dank - ich habe wirklich auch in der Hilfe gesucht, hatte es aber nicht gefunden! Genau das habe ich gesucht!

Danke

Ykcim :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 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