Czy ktoś może mi pomóc rozwiązać ten problem?
Mam dynamiczną listę wzorów, które chcę posortować, zawierają wartości alfanumeryczne i litery.Sortowanie alfanumeryczne na serwerze Sql 2008
CREATE TABLE dbo.Pattern (Pattern varchar(50) NULL)
INSERT INTO dbo.Pattern (Pattern) VALUES ('A11')
INSERT INTO dbo.Pattern (Pattern) VALUES ('A12')
INSERT INTO dbo.Pattern (Pattern) VALUES ('A8')
INSERT INTO dbo.Pattern (Pattern) VALUES ('A2')
INSERT INTO dbo.Pattern (Pattern) VALUES ('B6')
INSERT INTO dbo.Pattern (Pattern) VALUES ('B21')
INSERT INTO dbo.Pattern (Pattern) VALUES ('B10')
INSERT INTO dbo.Pattern (Pattern) VALUES ('B3')
INSERT INTO dbo.Pattern (Pattern) VALUES ('B100')
INSERT INTO dbo.Pattern (Pattern) VALUES ('B2')
INSERT INTO dbo.Pattern (Pattern) VALUES ('AA')
INSERT INTO dbo.Pattern (Pattern) VALUES ('BA')
INSERT INTO dbo.Pattern (Pattern) VALUES ('A20')
INSERT INTO dbo.Pattern (Pattern) VALUES ('AB')
INSERT INTO dbo.Pattern (Pattern) VALUES ('BB')
SELECT Pattern FROM dbo.Pattern ORDER BY Pattern
DROP Table dbo.Pattern
Wynik pokazuje tak:
A11
A12
A2
A20
A8
AA
AB
B10
B100
B2
B21
B3
B6
BA
BB
ale wszystkie chcę pokazać to jak tego wyniku:
AA
A1
A2
A8
A11
A12
A20
AB
BA
B2
B3
B6
B10
B21
B100
BB
plus 1 dla przykładowych danych – TheGameiswar
Czy potrafisz zdefiniować logikę za pożądanym rezultatem? Dlaczego 'AA' pojawia się po" B100 "? Który byłby pierwszy między "AAA" i "BA1"? Czemu? Jeśli potrafisz zdefiniować logikę, założę się, że możesz łatwo odpowiedzieć na swoje pytanie. –
@TabAlleman, już edytuję zawartość wyniku, który powinien być wyprowadzany dla sortowania wzorców. – itsMacyAnn