webForumDet fria alternativet

Byta datatyp på kolumn i MySQL

Databaser & SQLur Databashanterare & SQL

4 svar · 638 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tjena,
Har en hemsida där jag håller på att integrerar kort / bankbetalning.
När betalformuläret ska initieras ska man skicka med summan i svenska öre, måste därför multiplicera alla kostnader med 100.

I nuläget så är kolumnen där kostnaden står av typen VARCHAR och i flera fält står det "800SEK", "645kr", "400kr + medlemsavgift" osv.

Så nu måste jag filtrera bort alla mellanslag, plus / minus tecken samt bokstäver, för att sedan kunna konvertera kolumnen till INTEGER.

Jag vet inte riktigt hur jag ska göra det här, men ett sätt jag tänkt på skulle kunna vara att plocka ut fältet rad för rad, köra resultatet genom ett regExp och sedan uppdatera samma fält med det nya värdet.

Hur skulle ett sådant regexp kunna se ut och hur ska jag använda det?
Finns det kanske något bättre sätt att ordna det här?

Tack!

Medlem sedan feb. 20034 441 inlägg
#2

Ah, nu gjorde jag en kopia på hela tabellen och sedan bytte jag datatyp.
Då försvann allt utom siffrorna, vilket är precis det jag ville.

Antar att det här var ett rätt effektivt sätt.

Om ni har några andra förslag, tages dessa tacksamt emot.

Medlem sedan jan. 20023 327 inlägg
#3

MickeA.com skrev:

Om ni har några andra förslag, tages dessa tacksamt emot.

Om ingen data gick förlorad så är nog det här det smidigaste sättet.

Medlem sedan dec. 200012 464 inlägg
#4

Flyttas från ASP

Medlem sedan feb. 20034 441 inlägg
#5

Compusa skrev:

Om ingen data gick förlorad så är nog det här det smidigaste sättet.

Inte vad jag sett vid en snabb överblick. o andra sidan så är det min kund som får gå igenom allt en gång för att se att allt stämmer.

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