有两个表a ,b
a表中有字段 username,sex,birthday
b表中有字段 studentname,studentId,birthday
我想取出 a,b中birthday相同的记录。其中birthday都是date类型的。

解决方案 »

  1.   

    我想取出 a,b中birthday相同的记录.是同年,还是同年同日,还是同年同月同时,还是同年同月同日,还是同年同月同日同时,还是同年同月同日同时同分,还是同年同月同日同时同分同秒?
    按歌德巴赫猜想,一般应该是同年同月同日。select a.username,a.sex,a.birthday,b.studentname,b.studentId from a,b
    where to_char(a.birthday,'yyyy-mm-dd')=to_char(b.birthday,'yyyy-mm-dd');
      

  2.   

    呵呵,date类型的关联是不是一定要用to_char?
      

  3.   

    不一定,办法多的很。trunc取年月日也行。
      

  4.   

    如果是a。birthday 不等于 b。birthday 呢?怎么写?
      

  5.   

    日期比较是麻烦点。
    如果你不等于是指年月日时分秒不等,那么直接a.birthday != b.birthday
    如果你只是想比较年月日,则turnc(a.birthday) != turnc(b.birthday)
      

  6.   


     select a.username,a.sex,a.birthday,b.studentname,b.studentId from a,b 
    where to_char(a.birthday,'yyyy-mm-dd HH24:MI:SS')=to_char(b.birthday,'yyyy-mm-dd HH24:MI:SS');
      

  7.   


    直接a.birthday != b.birthday啊
    如果要=匹配,也可以直接a.birthday = b.birthday