webForumDet fria alternativet

Konvertera text till tal utan decimaler

2 svar · 491 visningar · startad av HeHo

HeHoMedlem sedan apr. 2000277 inlägg
#1

Jag har ett prisfält som är av typen varchar (fråga mig inte varför :l ) som jag vill ändra priset i.
Så här skriver jag till SQL:en

UPDATE produktt SET pris = (CAST(pris AS INT)/1.25)*1.06

Japp...det funkar bra, den räknar rätt och så, men den lägger till 8 decimaler. Varför??
Ska tillägga att jag testat att göra om till money men då blir det 10 decimaler.
Jag vill alltså ha jämna kronor och priset skall avrundas uppåt vid >50 öre och nedåt vid <50 öre.
Hur skriver jag då?

------------------

Den som söker, måste leta!

@ndersMedlem sedan juni 200032 969 inlägg
#2

Utan att tidigare ha använt cast(), så känns det som att du borde kunna lägga på ett cast-uttryck utanför det du nu har.

Det jag menar:

UPDATE produktt SET pris = (CAST(CAST(pris AS INT)/1.25)*1.06 AS INT)

Mvh,

HeHoMedlem sedan apr. 2000277 inlägg
#3

Tack @nders!
Såklart ska det vara så....ganska logiskt bara man använder hjärnan :)

Jag flyttade en parantes så funkade det!

UPDATE produktt SET pris = CAST((CAST(pris AS INT)/1.25)*1.06 AS INT)

------------------

Den som söker, måste leta!

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)