SQL версии 2012 или выше, вы можете использовать функцию FORMAT , чтобы получить только год и месяц, а затем привести их к типу int.
В версиях до 2012 года вы можете выполнить форматирование с помощью функции convert, а затем привести к типу int.
declare @WRTime datetime
set @WRTime = '2012-11-09 10:52:38.000'
select cast(format(@WRTime,'yyyyMM') as int) --2012 or higher
ИЛИ Вы можете использовать:
SELECT YEAR(@WRTime)*100 + MONTH(@WRTime);
2012-11-09 10: 52: 38.000 будут преобразованы в 20121109105238 ??
Int не может преобразовать это, поэтому используйте "BIGINT"
declare @WRTime datetime
set @WRTime = '2012-11-09 10:52:38.000'
select cast(format(@WRTime,'yyyyMMddHHmmssfff') as bigint) --2012 or higher