在ACCESS中有形如2007-01-01~2007-02-14的一个字符串,现在想把这两个日期提取出来分别做为另一个ACCESS中一个表的两个日期型字段存储,现在不知道该怎么分割才好,哪位大虾帮帮吧,如果能给我代码另外开帖上分,谢谢先

解决方案 »

  1.   

    现在不知道该怎么分割才好
    ----------------------多种方法。比如可以用Pos和Copy两个函数:S := '2007-01-01~2007-02-14';S1 := Copy(S, 1, Pos('~', S)-1);
    S2 := Copy(S, Pos('~', S)+1, MaxInt);
      

  2.   

    同意楼上
    其中S2 := Copy(S, Pos('~', S)+1, length(S)-Pos('~', S));这样更清楚一些
      

  3.   

    sql语句 sql := 'insert into table1(date1,date2) values(' + '#' + DateToStr(FDate1) + '#' + ',' + '#' +  DateToStr(FDate2) + '#');
      

  4.   

    var
      S,S1,S2 : WideString;
                ~~~~~~~~~~~~
    begin
      S := '2007-01-01我就愿意用汉字隔开你管不着2007-02-14';  S1 := Copy(S, 1, 10);
      S2 := Copy(S, Length(S)-9, 10);end;不要告诉我 你日期里的0也可以省略的。
      

  5.   

    procedure GetDate(DateStr:string;//要分割的日期字符串
               barstr:string;//用于分割的字副(单字符)
               var FDate1:string;//分割出来的日期1
               var FDate2:string//分割出来的日期2
               );
    begin
      FDate1 := Copy(DateStr, 1, Pos(barstr, DateStr)-1);
      FDate2:= Copy(DateStr, Pos(barstr, DateStr)+1, length(DateStr)-Pos(barstr, DateStr));
    end;
    调用:
    var Date1,Date2:string;
     GetDate(s,'~',Date1,Date2);通用方法:
    GetDate(DateStr:string;//要分割的日期字符串
               barstr:string;//用于分割的字副
               var FDate1:string;//分割出来的日期1
               var FDate2:string//分割出来的日期2
               );
    begin
      FDate1 := Copy(DateStr, 1, Pos(barstr, DateStr)-1);
      FDate2:=  Copy(DateStr, Pos(barstr, DateStr)+Length(barstr), length(DateStr)-Pos(barstr, DateStr)-Length(barstr)+1);
    end;
    调用
    var
      Date1,Date2:string;
    begin
      GetDate('12313123asaa12312312','asaa',Date1,Date2);
      ShowMessage('12313123asaa12312312date1:'+date1+'date2:'+date2);
    end;