Aucune des réponses ci-dessus ne fonctionnera, sauf si tous vos noms viennent après "premier" dans l'ordre de tri.
Select FirstName, LastName
from (
select Sorter = 1, FirstName, LastName from People
union all
select 0, 'FirstName', 'LastName') X
order by Sorter, FirstName -- or whatever ordering you need
Si vous voulez faire cela pour toutes les colonnes non-varchar également, les CONS sont (au moins) :
- TOUTES vos données deviendront VARCHAR. Si vous utilisez Visual Studio par exemple, vous ne pourrez PLUS reconnaître ou utiliser les valeurs de date. Ou les valeurs int. Ni aucune autre valeur d'ailleurs.
- Vous devez fournir explicitement un format aux valeurs de type date comme DOB. Les valeurs DOB en Varchar au format dd-mm-yyyy (si vous choisissez de les transformer en ce format) ne seront pas triées correctement.
Le SQL pour y parvenir, cependant non recommandé c'est
Select FirstName, LastName, Age, DOB
from (
select Sorter = 1,
Convert(Varchar(max), FirstName) as FirstName,
Convert(Varchar(max), LastName) as LastName,
Convert(Varchar(max), Age) as Age,
Convert(Varchar(max), DOB, 126) as DOB
from People
union all
select 0, 'FirstName', 'LastName', 'Age', 'DOB') X
order by Sorter, FirstName -- or whatever ordering you need