select * from pzblfx 这是从一个表里选出数据
这里放了好几年的数据,如何选出其中一月的
日期格式为2009-1-11
日期 我设成文本了。。
也可以这样理解:Select * from pzb where date="abc" 
"abc"
"abce"
"abcd"是不是可以选出这三项呢?

解决方案 »

  1.   

    Select * from pzb where date like "abc%" 
      

  2.   

    如果是abcde呢??我这句 strSql=_T("select * from pzblfx where 日期="+date.GetStrYear()+"-"+date.GetStrMonth()+"-"+"%");运行出错
      

  3.   

    date是我自己写的类,代码如下class CMyDate  
    {
    public:
    CMyDate();
    CMyDate(int y,int m,int d);
    virtual ~CMyDate();
    int GetYear();
    int GetMonth();
    int GetDay();
    CString GetStrYear();
    CString GetStrMonth();
    CString GetStrDay();
    CString GetDate();
    void  SetDate(int y,int m,int d);
    void  SetDate(CString date);
    void SetDate(CString y,CString m,CString d);
    private:
    int Year;
    int Month;
    int Day;
    };
      

  4.   


    CMyDate::CMyDate(int y,int m,int d)
    {
    Year=y;
    Month=m;
    Day=d;
    }CMyDate::~CMyDate()
    {}
    CString CMyDate::GetDate()
    {
    CString str;
    str.Format("%d-%d-%d",Year,Month,Day);
    return str;
    }
    int CMyDate::GetDay()
    {
    return Day;
    }
    int CMyDate::GetMonth()
    {
    return Month;
    }
    int CMyDate::GetYear()
    {
    return Year;
    }
    CString CMyDate::GetStrDay()
    {
    CString str;
    str.Format("%d",Day);
    return str;
    }
    CString CMyDate::GetStrMonth()
    {
    CString str;
    str.Format("%d",Month);
    return str;}
    CString CMyDate::GetStrYear()
    {
    CString str;
    str.Format("%d",Year);
    return str;
    }
    void CMyDate::SetDate(CString date)
    {
    int a_1=date.Find('-',0);
    int a_2=date.Find('-',5); CString y=date.Mid(0,4);
    CString m=date.Mid(a_1+1,a_2-a_1);
    CString d=date.Mid(a_2+1,date.GetLength()-a_2);
    Year=atoi(y);
    Month=atoi(m);
    Day=atoi(d);
    }
    void CMyDate::SetDate(int y,int m,int d)
    {
    Year=y;
    Month=m;
    Day=d;
    }
    CMyDate::CMyDate()
    {
    CTime time=CTime::GetCurrentTime();
    Year=time.GetYear();
    Month=time.GetMonth();
    Day=time.GetDay();
    }void CMyDate::SetDate(CString y,CString m,CString d)
    {
    Year=atoi(y);
    Month=atoi(m);
    Day=atoi(d);
    }
      

  5.   


    select * from   tabel   where   field   like   '%大%'
    你把你的日期先组成一个字符串,然后合到sql语句里面去
      

  6.   

    搞不定。
    这样也出错。。
    CString strConnect;
    CString strDBFile="Mun.mdb";
    strConnect.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s"),strDBFile);
    if(pConnection->Open(_bstr_t( strConnect),"", "", 0)==S_OK)
    {
    // _RecordsetPtr pRecordset;
            if(pRecordset.CreateInstance(__uuidof(Recordset)) != S_OK)
    {
    pConnection->Close();
                return FALSE;
    }
    CString strSql;
    CString str=date.GetStrYear()+_T("-")+date.GetStrMonth()+_T("-")+_T("%");
    strSql=_T("select * from pzblfx where 日期 =2009-1-11 ");//+ "2007-1-11";
    //+date.GetStrYear()+_T("-")+date.GetStrMonth()+_T("-")+_T("%");
    HRESULT hr=pRecordset->Open(_bstr_t(strSql),pConnection.GetInterfacePtr(), adOpenStatic,
    adLockOptimistic,
    adCmdText);



    if(hr!=S_OK)
    {
    pConnection->Close();
    return FALSE;
    }

    }
      

  7.   

    strSql=_T("select * from pzblfx where 日期 = '2009-1-11' ");
      

  8.   

    问题已解决。谢谢了
    strSql=_T("select * from pzblfx where 日期 like '"+date.GetStrYear()+_T("-")+date.GetStrMonth()+"%'");