używam programu SQL Server, kolumna jest VARCHAR(50)
i chcę rozwiązać to tak:Sortowanie VARCHAR kolumna z wpisami alfanumerycznych
1A
1B
2
2
3
4A
4B
4C
5A
5B
5C
5N
14 Draft
21
22A
22B
23A
23B
23C
23D
23E
25
26
FR01584
MISC
Co mam tak daleko jest:
Select *
From viewASD
ORDER BY
Case When IsNumeric(LEFT(asdNumNew,1)) = 1
Then CASE When IsNumeric(asdNumNew) = 1
Then Right(Replicate('0',20) + asdNumNew + '0', 20)
Else Right(Replicate('0',20) + asdNumNew, 20)
END
When IsNumeric(LEFT(asdNumNew,1)) = 0
Then Left(asdNumNew + Replicate('',21), 20)
End
Ale to wyrażenie SQL umieszcza "14 Draft" zaraz po "26".
Czy ktoś może pomóc? Dzięki
Rozumiem! Dziękuję Ci! Nie wiedziałem zbyt wiele o funkcji PATINDEX, a teraz, odkąd się zajrzałem, wydaje się o wiele łatwiejsze do zrozumienia. – terezzy