sql字段类型的转换问题!
舒特考勤系统真BT,连个字段的数据类型的表现形式都不统一。
由于单位最近出现以下情况:很多人某天不上班(不刷卡,所以就没有考勤记录),但会跑到食堂吃饭(吃饭时刷卡就免费),但按我们的规定,当天不上班就不提供免费的工作餐。
所以,领导就找我实现一个功能:每月找出那些某天没有上班,但当天在食堂就餐的人当月所有的记录。我理所当然找舒特,他们说不提供这个功能。
无奈之下,我就自己在其提供sql7.0数据库中找到考勤刷卡记录和售饭刷卡记录两个表,准备用delphi实现这个功能(如果能在sql查询分析器实现就更好了):在两个表中(考勤表为kq,售饭表为:sf)以日期字段(kq.kqrq,sf.sfrq)相等为条件,从而找出在sf表中出现而没在kq表中出现的卡号(cardno),sql语句为:select cardno from sf where sf.card not in (select card from kq where kq.kqrq=sf.sfrq);当我打开两个表时,差点faint了:
考勤表(kq)的日期字段(kqrq)的数据类型是varchar,表现形式为:2004-11-01
售饭表(sf)的日期字段(sfrq)的数据类型是char, 表现形式为:20041101
【请问】我现在如何将两种不同的日期建立一个比较关系(相等,数据类型问题不大,关键是数据表现形式),才能让我的sql语句如愿以偿地得到我想要的数据。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~