Not sure if I still interpreted this correctly, but...
First if you're interested only in dates, you can use
date
data type which contains no time information, see
http://msdn.microsoft.com/en-us/library/ms186724.aspx[
^].
Now to generate the data into the table, you can create a small T-SQL block where you loop through the desired dates. Something like
DECLARE @startDate date;
DECLARE @endDate date;
BEGIN
SET @startDate = GETDATE();
SET @endDate = GETDATE() + 365;
WHILE (@startDate <= @endDate) BEGIN
INSERT INTO YourTable (DateColumn) VALUES (@startDate);
SET @startDate = DATEADD(day, 1, @startDate);
END;
END;
You should modify the block to check for the holiday.
Another possibility is that you actually don't store the working day at all, just the holidays. Now to get the working dates between a date range, you could use a table valued function which can be used in a query like a table. Have a look at this article:
Using Table-Valued Functions in SQL Server[
^]