My words of caution come from experience. Since you are dealing with a date of birth, it's reasonable that not all columns have a valid date of birth. Also, since a small date time value has a lower range of Jan 1, 1900, it's possible that someone in your database was born before that date (unlikely but possible). You should also note that any record where the value is an empty string, the DOB will return as Jan 1, 1900 (which could be problematic for you).
Ex:
Select Convert(SmallDateTime, '')
Returns:
[tt][blue]
------------------------------------------------------
1900-01-01 00:00:00
(1 row(s) affected)[/blue][/tt]
If you want, you can convert this to NULL in your return by using...
Select NullIf(Convert(SmallDateTime, DOB), '19000101') As DateOfBirth
With this syntax, if you don't know the date of birth for a record in your table, it will return as null. Of course you will have to handle the nulls in your front end app, but that's simple enough.
Hope this helps.
-George
Strong and bitter words indicate a weak cause. - Fortune cookie wisdom