库里有个月份字段,类型为日期型的。
谢谢!

解决方案 »

  1.   

    你用的是什么数据库?select * from 表名 where year(月份字段名)=3这样得到的是3月份的(不管是哪年)。如果是SQL Server,可以这样select * from 表名 where convert(char(7),月份字段名,120)='2004-07'
    这样可以得到2004年7月份的。
      

  2.   

    select * from talbename where month(月份字段名)=3
    //month 为SQL中自带的函数
      

  3.   

    编译是通过了,不过执行的时候出错,提示:
    'invalid use of keyword.token:year(fzrq)=8'
    用month也提示同样类型的错误。
    我用的库是BDE,表类型为paradox7
    请指点
      

  4.   

    如果是Paradox的话,要像这样了:select * from 表名 where extract(month from 日期型字段名)=3
      

  5.   

    如果要实现某年某月,可以这样处理:select * from 表名 where Extract(Year from 日期型字段名)=2004 and Extract(month from 日期型字段名)=3这样实现的是查询 2004年3月份 的数据。
      

  6.   

    还有一点,我如何从datetimepicker的值中得到月份数值啊?
    我用MONTHOF()函数,可编译出错,说,没定义此函数,请指点。
      

  7.   

    好象你题目的问题已经解决了啊,而且上面这个问题你不是另外开了一个贴吗?揭贴吧,呵呵。DateTime: TDateTime;
    DateStr,tempStr:string;
    MonthValue:integer;  DateTime := Now;                 //返回当前日期时间
      DateStr:= DateToStr(DateTime);   //转换日期为字符串01/12/99
      tempStr:=substring(DateStr,4,2));//从DateStr的第4个字符处返回2个字符
      MonthValue:=strtoint(tempStr);