delphi怎么将字符串转换成日期格式

delphi如何将字符串转换成日期格式?
sql数据表中有个字段 hy_birthday是varchar类型。里面存放的数据一般三种格式:空值,yyyy-mm-dd,mm-dd
那么我如何查询当天生日会员、本周生日会员、本月生日会员和还有15天过生日的会员?

------解决方案--------------------
不知你用的啥数据库,如果是sqlsever的话
假设你的表有出身日期字段,格式为yyyy-mm-dd

// 查询所有7天后过生日的人
 SELECT * FROM 表名 WHERE DATEDIFF(DAY,  GETDATE(),
  (SELECT REPLACE((SELECT CONVERT(CHAR(10), 表名.出生日期, 120)), 
          (SELECT CONVERT(CHAR(4), 表名.出生日期, 120)),
          (SELECT YEAR(GETDATE()))))) = 7  

------解决方案--------------------
直接用字符串比