sum van een varchar-kolom

Status
Niet open voor verdere reacties.

HenkGRIP

Gebruiker
Lid geworden
30 nov 2010
Berichten
18
Ik wil de som van de kolom Waarde hebben.
De kolom waarde heeft het kenmerk: waarde(varchar(30),null)
Hoe kan ik van deze kolom de som krijgen als de waarde een getal betreft (als het een tekst is hoe ik dus geen som te hebben)
Wie weet raad?
 
Kan dat wel?

Mijn eerste reactie was: dat kan helemaal niet; maar goed toch effe checken.
Gegoogled met "sum varchar sql" en veel resultaten die ook zeggen dat het niet kan; geen zoekresultaat gezien waaruit blijkt dat het wel zou kunnen.

Jouw vraag:
Je hebt een kolom met alfa-numerieke gegevens,
daar kunnen (dus) ook cijfers in staan.

Nu lijkt het misschien logisch dat je dan eventuele cijfers op zou kunnen tellen,
maar omdat de aard van de inhoud 'alfanumeriek' is, kan dat toch niet.


Misschien moet je toch even uitleggen waarom voor deze manier van inrichten van de database is gekozen.
Blijkbaar wordt er cijfermatige data opgeslagen,
waarvan de som op enig moment interessant is.
Waarom dan niet in een aparte numerieke kolom? Dan is optellen opeens geen probleem meer.
 
Klinkt inderdaad alsof het opnieuw indelen van de database de beste oplossing is.

Je zou kunnen proberen om CAST te gebruiken, maar ik heb geen idee wat die doet met de tekst... als hij er 0 van maakt is er niks aan de hand, maar er is een grote kans dat sommige teksten half gecast worden, of dat de hele boel crasht.

(Ik kan me bijvoorbeeld voorstellen dat "12 test" 0, 12, <error>, of iets totaal randoms kan worden)

Ik zou echt de database anders indelen hiervoor.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan