sto usando SQL Server, la colonna è una VARCHAR(50)
e voglio ordinare in questo modo:colonna di ordinamento VARCHAR con le voci alfanumeriche
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
Quello che ho finora è:
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
Ma questa istruzione SQL mette '14 Draft 'subito dopo' 26 '.
Qualcuno potrebbe aiutare? Grazie
Vedo! Grazie! Non sapevo molto della funzione PATINDEX, e ora da quando l'ho esaminata sembra molto più facile da capire. – terezzy