sql字符串转换日期解决方法

sql字符串转换日期
类似“2006年8月15日”这样在sqlsever数据库以字符串方式存放,请问如何把他在查询的时候转换成日期型。譬如查询所有2006年6月3日以前的该怎么写?

------解决方案--------------------
select convert(datetime,replace(replace(replace( '2006年8月15日 ', '年 ', '- '), '月 ', '- '), '日 ', ' '))
------解决方案--------------------
直接比较不行吗?
select * from 表 where 字段 < '2006年6月3 '

select * from 表 where cast(replace(replace(replace( '2006年8月15日 ', '年 ', '- '), '月 ', '- '), '日 ', ' ') as datetime) < '2006-6-3 '