Что вам действительно нужно сделать, это исправить тип данных вашей колонки. varchar
не подходит для всех типов данных и не должен использоваться для хранения дат. Как я уже сказал, 09282015
это не"после" 06242019
, но, согласно вашим данным, это так.
Вы можете исправить свои данные, выполнив следующие действия:
USE testing;
GO
--Change the data to the ISO yyyyMMdd format
UPDATE dbo.testing
SET HireDate = CONVERT(varchar(8),CONVERT(date,STUFF(STUFF(SeparationDate,5,0,'/'),3,0,'/'),101),112),
SeparationDate = CONVERT(varchar(8),CONVERT(date,STUFF(STUFF(SeparationDate,5,0,'/'),3,0,'/'),101),112);
GO
--Change the data types
ALTER TABLE dbo.testing ALTER COLUMN HireDate date;
ALTER TABLE dbo.testing ALTER COLUMN SeparationDate date;
GO
--And now you can select, and change the datatype to a format, with ease
SELECT [EmployeeTC_No] AS [Employee TC#],
[pye_nlast] AS [Name Last],
[pye_nfirst] AS [Name First],
[Dept] AS [Department],
[pye_status] AS [Active],
CONVERT(varchar(10),[HireDate],101) AS [Hire Date],
CONVERT(varchar(10),[SeparationDate],101) AS [Separation Date]
FROM [testing].[dbo].[testing];