在DELPHI中写 sqlstr:='select * from table where convert Convert(Char(7),rq,20)='+''''+FormartdateTime('yyyy-mm',Shijian)+''''; 在sql查询分析器就写 declare @rq char(7) select @rq='2005-03' Select * From table Where Convert(Char(7),rq,20)=@rq
chengangcsdn(wenxin)上面写的运行后查出数据库中的全部记录哦.
with adoquery1 do begin Close; SQL.Clear; SQL.Add('select * from tablename where year(字段)=:temp1 and month(字段)=:temp2; '); Parameters.ParamByName('temp1').Value:=formatdatetime('yyyy',form1.DateTimePicker1.Date); Parameters.ParamByName('temp2').Value:=formatdatetime('mm',form1.DateTimePicker1.Date); Open; end;
//上面多了个分号 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ with adoquery1 do begin Close; SQL.Clear; SQL.Add('select * from tablename where year(字段)=:temp1 and month(字段)=:temp2'); Parameters.ParamByName('temp1').Value:=formatdatetime('yyyy',form1.DateTimePicker1.Date); Parameters.ParamByName('temp2').Value:=formatdatetime('mm',form1.DateTimePicker1.Date); Open; end;
在sql查询分析器就写 declare @rq char(7) select @rq='2005-03' Select * From table Where Convert(Char(7),rq,20)=@rq 不会啊。 除非你全部都符合条件
with adoquery1 do begin Close; SQL.Clear; SQL.Add('select * from tablename where); Open; end;
搞错啦!设置DateTimePicker1的Format格式为:yyyy年MM月就行啦 with adoquery1 do begin Close; SQL.Clear; SQL.Add('select * from tablename where YearM = :dt); Parameters.ParamByName('dt').Value := FormatDateTime('yyyy年MM月',Dtp.Date); Prepared; try Open; if RecordCount = 1 then MessageBox(Handle,'找到记录信息!','信息!',MB_OK + MB_ICONINFORMATION) else MessageBox(Handle,'找到记录信息!','信息!',MB_OK + MB_ICONINFORMATION); except MessageBox(Handle,'网络故障!','错误!',MB_OK + MB_ICONERROR); end; end;
select * from table where to_char(mydate,'mm')='mm'
to_char(mydate,'mm')='mm'是什么意思?谢谢了!
'FormartdateTime' 不是可以识别的 函数名。
sqlstr:='select * from table where convert Convert(Char(7),rq,20)='+''''+FormartdateTime('yyyy-mm',Shijian)+'''';
在sql查询分析器就写
declare @rq char(7)
select @rq='2005-03'
Select * From table Where Convert(Char(7),rq,20)=@rq
Close;
SQL.Clear;
SQL.Add('select * from tablename where year(字段)=:temp1 and month(字段)=:temp2;
');
Parameters.ParamByName('temp1').Value:=formatdatetime('yyyy',form1.DateTimePicker1.Date);
Parameters.ParamByName('temp2').Value:=formatdatetime('mm',form1.DateTimePicker1.Date);
Open;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
with adoquery1 do begin
Close;
SQL.Clear;
SQL.Add('select * from tablename where year(字段)=:temp1 and month(字段)=:temp2');
Parameters.ParamByName('temp1').Value:=formatdatetime('yyyy',form1.DateTimePicker1.Date);
Parameters.ParamByName('temp2').Value:=formatdatetime('mm',form1.DateTimePicker1.Date);
Open;
end;
declare @rq char(7)
select @rq='2005-03'
Select * From table Where Convert(Char(7),rq,20)=@rq
不会啊。
除非你全部都符合条件
Close;
SQL.Clear;
SQL.Add('select * from tablename where);
Open;
end;
with adoquery1 do begin
Close;
SQL.Clear;
SQL.Add('select * from tablename where YearM = :dt);
Parameters.ParamByName('dt').Value := FormatDateTime('yyyy年MM月',Dtp.Date);
Prepared;
try
Open;
if RecordCount = 1 then
MessageBox(Handle,'找到记录信息!','信息!',MB_OK + MB_ICONINFORMATION)
else
MessageBox(Handle,'找到记录信息!','信息!',MB_OK + MB_ICONINFORMATION);
except
MessageBox(Handle,'网络故障!','错误!',MB_OK + MB_ICONERROR);
end;
end;