Ninguna de las respuestas anteriores funcionará, a menos que todos sus nombres aparezcan después de "primero" en orden de clasificación.
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 quieres hacer esto para todas las columnas no varchar así, los inconvenientes son (al menos):
- TODOS sus datos pasarán a formar VARCHAR. Si usa Visual Studio, por ejemplo, ya no podrá reconocer ni usar valores de fecha. O int valores. O cualquier otro para ese asunto.
- Debe proporcionar explícitamente un formato de valores de fecha y hora como fecha de nacimiento. Los valores DOB en Varchar en el formato dd-mm-aaaa (si eso es lo que usted elige para convertirlos) no se ordenarán correctamente.
El SQL para lograr esto, sin embargo no se recomienda-, es
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
Si desea agregar un encabezado a TODAS las columnas incluidas NON-VARCHAR, tiene muchos problemas con este enfoque (si insiste en la capa de la base de datos) – RichardTheKiwi