Valuta in create table

Status
Niet open voor verdere reacties.

Syphera

Gebruiker
Lid geworden
19 jan 2004
Berichten
189
Voor een eindopdracht op school moet ik een database aanmaken via een SQL query.
Nu heb ik alleen een veld in mijn DB van het type valuta:
Ceate table PRIJSCODE
(Prijscode varchar(5),
Dagprijs valuta,
Kilometerprijs valuta);

Nu wil ik dat de valuta weergegeven wordt met het euro teken (€) en 2 getallen achter de comma heeft.

Hoe moet ik dit in mijn query verwerken?
 
En hoe is "valuta" gedefinieerd? Decimals etc. kun je via een "format" vaak wel goed krijgen. Maar "valuta" is geen standaard variabele. Geef ook aan welke database het om gaat
 
In mijn database moet een bedrag (Valuta) zo erin komen te staan: €24,95
Hierbij wil ik dat er max 7 getallen voor de komma staan en max 2 achter de komma.

Dit script moet uitgevoerd worden op een oracle database server.
 
In dat geval ben je je data als text op aan het slaan. Behalve misschien in een schoolopdracht is dit normaal niet de bedoeling. Formatering hoort in je interface laag, niet in je database.

Wat je normaal opslaat in je database is een datatype van type decimal(7,2)

Nu zijn er wel wat interfaces die je vervolgens kunnen helpen dit te presenteren als €24,95, maar de interne opslag is normaal Decimal(7,2): 0000024 95 niet de text "€24,95"
 
Ok, dus als ik het goed begrijp wordt mijn query dan:

Ceate table PRIJSCODE
(Prijscode varchar(5),
Dagprijs decimal(7,2),
Kilometerprijs decimal(7,2));
 
Dat zou mijn voorstel zijn, maar ik ken je opdracht natuurlijk niet :) School opdrachten hebben jammer genoeg wel vaker de neiging om totaal los te staan van de werkelijkheid

Ik bedenk me net dat je voor jouw opdracht eigenlijk decimal(9,2) moet hebben. 9 cijfers totaal waarvan 2 gereserveerd voor achter de komma.
 
Toch nog een vraagje:
Moet ik als ik de tabel ga vullen met de insert functie het bedrag tussen ' ' zetten zoals hier:
Insert into Prijscode values (‘A’, ‘24,95’, '0,12');

Of moet het zonder de ' ' zijn, zoals hier:
Insert into Prijscode values (‘A’, 24,95, 0,12);
 
Een decimal geef je aan met 00.00 niet 00,00 :)

Dus in dit geval
[sql]
INSERT INTO
Prijscode
VALUES
('A', 24.95, 0.12);[/sql]

Heb je jouw query überhaupt uit laten voeren? Als iets niet goed gaat krijg je altijd een foutmelding terug.
Deze foutmelding is redelijk generiek en het is dus makkelijk op internet te achterhalen wat er fout gaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan