lc_numeric

System: Postgres 8.3, Windows XP

Trotz entsprechender lc_numeric Einstellung gibt die Postgres nur numeric-Zahlen mit einem Punkt als Trennzeichen aus bzw. nimm nur soche an, sowohl in php als auch im pgAdmin.

Ich hab schon alles Mögliche versucht und hoffe nun hier auf eine Lösung…

Vielen Dank im Voraus

Gruß, flat

test=*# select to_number(‘12,4548888’, ‘999D9999’);
to_number

12.4548
(1 Zeile)

test=# select to_char(‘12.4548888’::real, ‘999D9999’);
to_char

12,4549
(1 Zeile)


Andreas

Vielen Dank für die schnelle Antwort,
ich bin davon ausgegangen, dass die locale-Einstellungen dazu da wären, die Ein-und Augaben den länderüblichen Formaten anzupassen.

Es ist nicht möglich, durch lc_numeric eine entsprechende Ausgabe mit Komma als Dezimalstelle zu erzwingen? Dann verstehe ich den Sinn der local- Einstellungen nicht so ganz… :frowning:

Danke, flat

Zur Ausgabe dient das to_char(), dieses beachtet lc_locale.

Andreas

Nochmals vielen Dank für die schnelle Antwort!!!
Jetzt verstehe ich wie das funktioniert, es hilft mir aber leider nur bedingt, denn php generiert die Abfragen und Insert / Update / Delete - Befehle über Schleifen (zumindest teilweise)… das möchte ich nach Möglichkeit nicht nocheinmal zerflücken.

Gibt es eine Alternative? wie siehts zB mit benutzerdefinierten Datentypen aus? kann man damit “numeric mit Komma” basteln?

Vielen Dank für die Mühen!

Gruß, Gerrit

Ja.

Andreas

Das ist doch mal ne gute Nachricht! Hat das schon mal jmd gemacht und würde das hier veröffentlichen?

Vielen Dank für die Hilfe!
Gruß, Gerrit

PostgreSQL: Documentation: Manuals: PostgreSQL 8.3: User-Defined Types

Andreas

ich fürchte das ist nicht so ganz meine Materie… :frowning:

Kann man nicht auch die Ein- und Ausgabefunktion von numeric ändern?

Das scheint mir der sinnvollste Weg zu Ziel, da ich im Grunde auch nur eine andere Ein- und Ausgabe möchte…

Vielen Dank schon mal im Voraus.
Gerrit

Schau doch einfach nochmals in meine erste Antwort…

Andreas

Ich habe meine Frage unglücklich formuliert. Gibt es eine Möglichkeit diese Ein- und Augabefunktion automatisch zu berücksichtigen oder in den Datentyp zu integrieren?
Mein Problem: Ich möchte Datenabfragen und Manipulation in der deutschen Schreibweise durchführen ohne to_char oder to_number in meiner Abfrage bzw Manipulationsanweisung explizit aufrufen zu müssen.

Ist das Möglich. Wenn ja: Wie?

Vielen Dank für die Unterstüzung.

Gruß, Gerrit