Código SQL:
Ver originalDECLARE @Fecha1 DateTime,
@Fecha2 DateTime,
@FechaA DateTime,
@FechaB DateTime;
SELECT @Fecha1='20120720',
@Fecha2='20130117',
@FechaA='20130101'; --El primero de Enero 2013
SELECT @FechaB=DateAdd(MONTH,1,@FechaA)-1; --El ultimo de Enero 2013
SELECT DateDiff(DAY,
CASE WHEN @Fecha1>@FechaA THEN @Fecha1 ELSE @FechaA END,
CASE WHEN @Fecha2>@FechaB THEN @FechaB ELSE @Fecha2 END)+1;