Hier ist mal ein ausführliches Beispiel, wie man einen neuen Datentyp erstellt:
BOOLEAN datatype with PHP-compatible output - ads' corner
Hallo,
ich habe Zahlen in diesem Format 000.000.000
Kann ich einen Datentyp erstellen, damit bei der Eingabe auf dieses Format geachtet wird?
Es gibt dazu den Befehl create TYPE() Was jedoch in die Klammer kommt ist nicht ganz klar.
Karl
Hier ist mal ein ausführliches Beispiel, wie man einen neuen Datentyp erstellt:
BOOLEAN datatype with PHP-compatible output - ads' corner
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
reicht das auch?Code:test=*# set lc_numeric='de_DE.UTF-8'; SET test=*# commit; COMMIT test=# select to_char(123456789, '999G999G999'); to_char -------------- 123.456.789 (1 row) test=*# select to_number('123.456.789', '999G999G999'); to_number ----------- 123456789 (1 row)
Andreas
--
Papa-Kind-Kur vom 8. bis 29. September ;-)
PostgreSQL Hosting
http://www.amazon.de/gp/registry/2APKFICAIYMWBads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
https://www.xing.com/profile/Andreas_Kretschmer7
@akretschmer Diese Möglichkeit scheint mir doch um einiges einfacher zu sein.
Es kommt aber eine Fehlermeldung. (Habs direkt in die Konsole eingetragen)test=*# set lc_numeric='de_DE.UTF-8';
Das geht aber.Code:select to_char(123456789, '999G999G999');
@ads: Vielleicht geh ich das noch später an, ist halt echt ein Aufwand. Erst die Funktionen, Operatoren, Klassen. Da wäre ich eine ganze Weile beschäftigt.Code:invalid value for parameter "lc_numeric": "de_DE.UTF-8"
Geändert von karl_ha (16.04.2009 um 11:33 Uhr)
Du brauchst nicht alles davon, jedenfalls nicht, wenn du den Datentyp nur zum Speichern von Daten nutzen willst.
Die Operatoren ect. sind notwendig, wenn du mit anderen Datentypen interagieren möchtest, also z. B. Vergleiche durchführen oder Casten auf andere Typen.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
--
Papa-Kind-Kur vom 8. bis 29. September ;-)
PostgreSQL Hosting
http://www.amazon.de/gp/registry/2APKFICAIYMWBads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
https://www.xing.com/profile/Andreas_Kretschmer7
Das mit den Datentyp selbst erstellen bekomme ich wohl nicht hin, bzw. ein einfaches Beispiel wäre vielleicht anschaulicher.
Wie lange braucht dazu ein freiberuflicher DB-Programmierer?
Das hängt davon ab, was du alles benötigst ...
Deine Vorgaben reichen nicht unbedingt als Lastenheft aus ;-)
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Was genau willst Du denn machen damit? So, wie ich Dich verstanden habe, geht es nur darum, 'normale' Zahlen in einer bestimmten Formatierung EIN/Auszugeben. Dazu nannte ich eine Lösung.
Hast Du allerdings irgend was besonderes an solchen Zahlen, ich spinne mal: 100.001.010 * 2 soll 100.001.020 sein, dann brauchst halt echt einen neuen Datentypen und dazu die passenden Rechenoperatoren und so weiter.
Also, sag an...
Andreas
--
Papa-Kind-Kur vom 8. bis 29. September ;-)
PostgreSQL Hosting
http://www.amazon.de/gp/registry/2APKFICAIYMWBads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
https://www.xing.com/profile/Andreas_Kretschmer7
Logo, habe noch nicht ein Lastenheft erstellen müssen. Was kommt da alles rein?
Der Datentyp soll im Format 000.000.000 sein.
Also drei Pakete mit je 3 Zahlen welche 0-9 umfassen können
Das Trennzeichen ist ein Punkt
Der Datentyp muss als PrimaryKey verwendet werden können
Es muss keine Addition etc stattfinden können.
Da ich immer gerne auch etwas lernen möchte würde ich auch gerne den Weg dazu sehen. Auf der postgres.org Seite steht ja schon etwas dazu. Bei mir hat es aber noch nicht klick gemacht.
Karl
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen