Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

Numerično sortiranje z SQL

 
 
17.4.2012, 13:01
V MS SQL bi rad sortiral naslednje zaporedje, ki je urejeno leksiografsko.

1
10
11
2
20
2a
...

Sedaj bi rad to sortiral po numeričnem ključu, torej da bi dobil:
1
2
2a
10
11
20

Trenutno sem sicer spisal funkcijo, ki iz vseh zapisov odstrani črke, pretvori v integer ter nato sortira po tem.

Ker pa sem bolj pristaš enostavnih rešitev, me zanima, če se da to rešiti brez uporabe funkcije, se pravi samo z SQL stavkom.

Ima kdo kakšno rešitev?

 
 
 
17.4.2012, 19:56
V PHPju?
http://us2.php.net/manual/en/function.na....
 
 
 
29.4.2012, 17:13
Tkole probaj:

SELECT
Data as ORG
,case when PATINDEX('%[^0-9]%',Data)>0 then SUBSTRING(Data,1,PATINDEX('%[^0-9]%',Data)-1) else Data end as Num
FROM
dbo.Podatki
order by
convert(int,case when PATINDEX('%[^0-9]%',Data)>0 then SUBSTRING(Data,1,PATINDEX('%[^0-9]%',Data)-1) else Data end)


spremenil: Matej V. (29.4.2012 ob 20.53.23)
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!