在sql server中插入时间记录是用Now()函数,即时间字段的记录是有日期和时间。
我用DateTimePicker来查询库中的数据,只需要查日期,
使用如下语句,怎么查询不出。是不是因为字段中还有时间的原因?
该如何把处理字段中的时间?
SQL.Add('select 字号 from Table1 where 时间=:sd');
Parameters.ParamByName('sd').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
我用DateTimePicker来查询库中的数据,只需要查日期,
使用如下语句,怎么查询不出。是不是因为字段中还有时间的原因?
该如何把处理字段中的时间?
SQL.Add('select 字号 from Table1 where 时间=:sd');
Parameters.ParamByName('sd').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
Parameters.ParamByName('sd').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);date函数在sql语句中;就是将时间字段取日期值;利用这个函数可以搞定;另外建议朋友以后保存时间的时候不要用time();函数;
要用date();;^_^;
Parameters.ParamByName('sd').Value:=DateTimePicker1.Date;或
SQL.Add('select 字号 from Table1 where convert(char(10),时间,120)=:sd');
Parameters.ParamByName('sd').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
也許都不太好,如果不需要時間﹐保存時就保存Date
adoquery1.clear;
adoquery1.text:='SELECT * FROM TABLE WHERE date>='''+DATETO STR(TIME1)+''''+' AND TIME<='+DATETOSTR(TIME2)+'''';
adoquery1.open;
SQL.Add('select 字号 from Table1 where date(时间)=:sd');
Parameters.ParamByName('sd').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
SQL.Add('select 字号 from Table1 where 时间>=:sd and 时间<=:ed');
Parameters.ParamByName('sd').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
Parameters.ParamByName('ed').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date+1);这样查询的就是一天之内的时间了,可惜不能给自己加分。
多谢回答。揭贴!