J'ai un VARCHAR
dans une colonne SQL Server 2000
qui peut contenir des lettres ou des chiffres. Cela dépend de la façon dont l'application est configurée sur le front-end pour le client.
Lorsqu'ils contiennent des chiffres, je veux qu'ils soient triés numériquement, par exemple "1", "2", "10" au lieu de "1", "10", "2". Les champs contenant uniquement des lettres, ou des lettres et des chiffres (comme 'A1') peuvent être triés par ordre alphabétique comme d'habitude. Par exemple, voici un ordre de tri acceptable.
1
2
10
A
B
B1
Quelle est la meilleure façon d'y parvenir ?
0 votes
Notez également que IsNumeric renvoie 1 pour les valeurs 24e4 et 12d34
1 votes
Face à ce problème, je suis venu ici. En voyant votre question, j'ai remarqué une hypothèse erronée. Vous avez dit "Les champs contenant uniquement des lettres, ou des lettres et des chiffres (comme 'A1') peuvent être triés par ordre alphabétique comme d'habitude." Essayez d'ordonner A1, A2 et A10. Vous obtiendrez A1, A10, A2. Maintenant que j'ai fini avec la partie question, je vais chercher une réponse ci-dessous. J'espère en trouver une :)
0 votes
@anarkhalilov l'avez-vous fait ?
0 votes
@ahsteele, pour être honnête, il est assez difficile pour moi de me souvenir après trois ans et demi.
0 votes
@anarkhalilov J'ai supposé que vous ne le feriez pas mais j'ai pensé que ça valait la peine de demander. Merci de m'avoir répondu.