Поскольку оно хранится как целое число, вы можете извлечь год, месяц и день, разделив 100 на 1000.
например,
DECLARE @Date INT
SET @Date = 20100401
DECLARE @Year INT
DECLARE @Month INT
DECLARE @Day INT
SET @Year = @Date / 10000
SET @Month = (@Date - (@Year * 10000)) / 100
SET @Day = @Date - (@Year * 10000) - (@Month * 100)
SELECT @Date, DATEADD(MONTH,((@Year-1900)*12)+@Month-1,@Day-1)
Однако я понятия не имеюесли это быстрее, чем сравнение строк у вас уже есть.Я думаю, что ваше решение намного чище и легче для чтения, и будет придерживаться этого.