Toon posts:

MS SQL7: Order by probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem:

Ik heb een M$ SQL7 database waarin de prijzen als type nvarchar opgeslagen zijn. Als je deze gaat sorteren krijg je zoiets:

1101
176
19
22
2486
279
3184
4
enz....

Nou was het eigenlijk de bedoeling dat hij sorteert op numerieke volgorde. Hoe fix ik dat? Het veld MAG niet omgezet worden naar type number of money.

Dat sorteren gebeurt trouwens in een query die in asp uitgevoerd wordt.

Verwijderd

order by cast(prijzen as int) zo dan maar? blijft het veld gewoon varchar maar sorteer je op z'n numerieke waarde, gaat uiteraard wel op z'n plaat als je een niet numerieke waarde in propt...

Verwijderd

Topicstarter
Heel erg bedankt.
Met int werkte het niet, maar met money wel.

Foutmelding met int:
Server: Msg 245, Level 16, State 1, Line 1
Syntax error converting the nvarchar value '24,00' to a column of data type int.

Verwijderd

Je liet geen dingen met komma's zien in je voorbeeld dus er klakkeloos van uit gegaan dat het niet voorkwam >:) ik zeg niet voor nix als ie troep tegen komt gaat ie op z'n plaat..

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 18:52

Klippy

Still Game

Ik dacht SORT BY....... :?

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Casten naar een float achtige variabele dus...

Je kan niet direct ORDER BY erop los laten.

Want stel je hebt:

2132
111
91

Dan wordt dat indien het varchar is, gesorteerd tot:
111
2132
91

Klopt prima. want het is nu gesorteerd op karakter niveau en 2 komt voor 9. Dus. :)

Cast je het naar een numerieke (int/float/whatever)waarde dan krijg je wel het goede resultaat.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

uhm, kan aan mij liggen, maar volgens mij is in de eerste 2 replies het antwoord al aan bod gekomen :z

Today's subliminal thought is:


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Ja maar hij wist niet waarom het nou werkelijk fout ging. Dus vandaar.
Pagina: 1