数据库中的某个字段为日期类型1,有很多数据例如:2003-11-12,2003-12-11等,现在我需要对数据进行审核,凡属于2003-12的数据(2003-12-11)可以保存,不属于的(2003-11-12)不能保存并提示。如何能提取出来数据进行判定呢?
begin
query1.Close;
query1.SQL.Clear;
query1.sql.Add('select c0 from rjz');
query1.open;
query1.First;
 while not query1.eof do
begin
  if query1.Fieldbyname('c0').Asstring <>'2003-12'  then
 //是具体日期可以,2003-12好象不行
 begin
showmessage('日期不符,不能保存');
 end;
query1.Next;
end;

解决方案 »

  1.   

    if copy(query1.Fieldbyname('c0').Asstring,1,7)<>'2003-12'  then
    showmessage('日期不符,不能保存');
      

  2.   

    begin
    query1.Close;
    query1.SQL.Clear;
    query1.sql.Add('select c0 from rjz ');
    query1.open;
    query1.First;
     while not query1.eof do
    begin
      if (copy(query1.Fieldbyname('c0').Asstring,1,4)+ copy(query1.Fieldbyname('c0').Asstring,5,7))<>'2003-12'  then
       begin
         showmessage('日期不符,不能保存');
       end;
      query1.Next;
    end;
      

  3.   

    完全同意:
    如果在ORACLE中写。则:
      STRSUB(query1.Fieldbyname('c0').Asstring,1,7)
      

  4.   

    Returns the year represented by a TDateTime value.Unit
    DateUtilsfunction YearOf(const AValue: TDateTime): Word;
    function MonthOf(const AValue: TDateTime): Word;
    /////////////////////////////////////////////////
    if (YearOf(datetime) = 2003) and (MonthOf(datetime) = 12) then