Hallo,
Ik ben geen programmeur en dus gewoon hobbymatig wat bezig met NodeJS en Postgres. Ik heb 3 kolommen aangemaakt in een tabel met als DataType "Numeric". De waarden van de 3 kolommen worden opgevuld door NodeJS ism het PG package.
Bij het aanmaken van het "Numeric" DataType heb ik geen "precision" of "scale" meegegeven omdat de exacte waarden op voorhand niet gekend zijn. De waarden zijn wel altijd positief en groter dan 0.
De Precision kan (hoeft niet altijd) 15 zijn
De Scale kan (hoeft niet altijd) 8 zijn
Als ik via NodeJS de gegevens van een rij ophaal dan krijg ik voor de 3 waarden altijd een String terug ipv een nummer/decimaal.
Welk Datatype en welke settings moet ik gebruiken zodat Postgres volgende waarden effectief saved als Numeriek/Decimaal en niet als String:
123456789101115
123
0.12345678
100.12345678
Dit is het stukje code die ik gebruik (random voorbeeld):
En dit is dan het resultaat die ik krijg in Nodejs:
Zoals je ziet staat zowel "Age", "Length" als "Calculation tussen quotes en krijg ik het dus terug als "String" en niet als een numerieke/decimale waarden.
Wie geeft mij een duwtje in de goeie richting? :-)
Bedankt!
Relevante software en hardware die ik gebruik
NodeJS
NPM package PG
pgAdmin
Ik ben geen programmeur en dus gewoon hobbymatig wat bezig met NodeJS en Postgres. Ik heb 3 kolommen aangemaakt in een tabel met als DataType "Numeric". De waarden van de 3 kolommen worden opgevuld door NodeJS ism het PG package.
Bij het aanmaken van het "Numeric" DataType heb ik geen "precision" of "scale" meegegeven omdat de exacte waarden op voorhand niet gekend zijn. De waarden zijn wel altijd positief en groter dan 0.
De Precision kan (hoeft niet altijd) 15 zijn
De Scale kan (hoeft niet altijd) 8 zijn
Als ik via NodeJS de gegevens van een rij ophaal dan krijg ik voor de 3 waarden altijd een String terug ipv een nummer/decimaal.
Welk Datatype en welke settings moet ik gebruiken zodat Postgres volgende waarden effectief saved als Numeriek/Decimaal en niet als String:
123456789101115
123
0.12345678
100.12345678
Dit is het stukje code die ik gebruik (random voorbeeld):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| async function test() { //Insert let insertquery = 'INSERT INTO table(name, gender, age, length, calculation) VALUES ($1, $2, $3, $4, $5)'; let values = ["JAN", "MALE", 50, 180, 0.12345678] let insert = await execute(insertquery, values) //Select let query = "SELECT * from table" let select = await execute(query) console.log(select.rows[0]) var test = select.rows[0].gender + 100 console.log(test) } |
En dit is dan het resultaat die ik krijg in Nodejs:
code:
1
2
3
4
5
6
7
8
9
| { id: 26, name: 'JAN', gender: 'MALE', age: '50', length: '180', calculation: '0.12345678' } 50100 |
Zoals je ziet staat zowel "Age", "Length" als "Calculation tussen quotes en krijg ik het dus terug als "String" en niet als een numerieke/decimale waarden.
Wie geeft mij een duwtje in de goeie richting? :-)
Bedankt!
Relevante software en hardware die ik gebruik
NodeJS
NPM package PG
pgAdmin