in the following,
if there are no records for the 1st of the month, then it is not populated.. how can you then go for the second date and if need be, for 3rd date and so forth...
select (backup_size)/(1024.*1024*1024) DBSizeinGB,
CONVERT(VARCHAR(10),backup_start_date,110) backup_date from msdb..backupset where database_name = 'Kirubai' and type = 'd' and name is not NULL
and SUBSTRING (CONVERT(VARCHAR(10),backup_start_date,110),4,2)= '01'