He has a start 'date' and an end 'date', futurity. In his sample data, the first record has a start date of JAN 1, 1946 and an end date of JUN 30 1948... Which should return a 'hit' for years 1946, 1947, and 1948.
If using date types (rather than the separate month day and year fields,) the query would look something like
Code:
SELECT *
FROM YourTable
WHERE start_date <= '1-1-1947' AND end_date >= '1-1-1947'
Since you're using separate month, day, and year fields for both start and end dates, you'll need to concatenate the fields to form the string representation of a valid date, then cast the string to a date for the comparison.
Code:
SELECT *
FROM YourTable
WHERE start_month || '-' || start_day || '-' || start_year :: date <= '1-1-1947'
AND end_month || '-' || end_day || '-' || end_year :: date <= '1-1-1947'
(Sure would be easier if you use dates, hmm?)