在大家的数据库程序中,年月(没有日)的一般用什么字段是文本还是日期呢?还是数字,用文本就不能对其比较,而用日期好象也不太方便,大家说说自己怎么做的吧?

解决方案 »

  1.   

    文本也可以比较,不过你要统一一下
    用formatdatetime('yyyy-mm-dd',date)
    这样的就可以比较了。。
      

  2.   

    我觉得用日期比较方便些. 
    1.利于查询和比较
    2.在程序中得到年月的字串方便 formatdatetime('yyyymm',[date.value]).
      

  3.   

    用Varchar(7)就行
    格式:2005-09 或 2005.09
      

  4.   

    我的数据库中有好几个字段是只有年月的,我是要把她先用日期的形式保存在,然后再比较吗?
    象200503,2005-03这样的数据根本不能用strtodate转化为日期,这个函数要求字符串必须是2005-03-03这样的格式.
    我看还是只能用日期了.
      

  5.   

    DATEDIFF
    返回跨两个指定日期的日期和时间边界数。 语法
    DATEDIFF ( datepart , startdate , enddate ) USE pubs
    GO
    SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
    FROM titles
    GO
    请参见
      

  6.   

    文本格式和整型都可以的
    yyyymm,用文本处理方便一些,直接用日期函数去转换就可以
      

  7.   

    select * from table where datename(yyyy,datecolum)+datename(mm,datecolum)='200503'
    这是sql server 中的