各有特点。
我们上个项目日期用num
现在这个用char(8).
就是没有用过date   :》

解决方案 »

  1.   

    不是吧,
    关键看你是否对日期字段进行操作,不操作的话什么都无所谓要是进行排序,比较的话最好还是用date类型。
      

  2.   

    关键还是要看你进行什么操作吧。
    进行排序的话,long和Date都很好用,对于Date类型,不同的数据库提供了一些很好的函数,操作都会很方便。
    但要是想要做一个独立与数据库的程序,字符串也是个不错的选择啦。
      

  3.   

    我们用varchar表示日期型,往数据库里面post的时候感觉约束比较少 方便!
    二者如果格式对的话 可以互相转换的 什么类型方便可以临时转换的
      

  4.   

    当然是用date类型,这样能比较,多方便啊
      

  5.   

    我觉得也是,用date比较方便。
    一般日期用作比较的方面最多,
    如果用字符串,比如varchar的话,就很难比较,
    就如fivehun2001所说的"会出现2004-2-10>2004-12-10的情况"。
    不过,date日期型的0日期是1970年1月1日。不能表示更早的日期。这又很不好。
    不知用varchar表示日期的,是如何比较两个日期的大小?
    谁有这方面的代码,让我看看,呵呵……
      

  6.   

    我反而认为有时候字符串方便。因为在有的数据库里(比如Oracle),DATE并不只是YYYYMMDD, 因此,当有时候,我们只想让该字段精确到年月日的时候(这种情况在日常的业务处理中经常出现),就使用8位字符型(char/varchar),否则,你会得到2004-08-13 ... != 2004-08-13 ...这种你不希望出现的麻烦情况。
      

  7.   

    相比较的话 比较同意楼上说的,我做过的大多 用的都是字符串
    但对于 某些 当前时间的 启用DATA型
      

  8.   

    还是应该用date型的。
    虽然使用varchar或是number会有些方便,
    但是,诸如前几位所说,若是你要进行比较呢?或是如果有对日期的查询呢?
    这个时候,恐怕就要把几个表示日期的string再转换,再比较,。。换句话说,有date型的数据类型存在,必然有它的意义,
    虽然有时会给pg在编程中带来一点小麻烦,
    但是,若用其他类型的话,可能是得不偿失的。
      

  9.   

    >不过,date日期型的0日期是1970年1月1日。不能表示更早的日期java.util.Date及其子类java.sql.Date中用到了UTC, 基准为GMT 1970-01-01 00:00:00.000, 之前可以用负数的表示
      

  10.   

    我一般用date型。
    比较方便,写复杂SQL也方便。考虑移殖问题的,最好用char。
      

  11.   

    字符串型统一格式后,查找等操作比较方便.
    btw,多谢shine333指点。