sql语句中 关于日期的比较
我想查找出 在datetimepicker1和datetimepicker2期间中所有关于 这个账户的信息,语句如下:
AnsiString str;
str = "select * from 流水帐 where 账户 = ' "+Edit1-> Text+ " ' and 日期 > ";
str += DateToStr(DateTimePicker1-> Date) + " and 日期 < "+DateToStr(DateTimePicker2-> Date);
为什么这个语句找不出来结果呢?我的输入是正确.请朋友们指教,谢谢!
[解决办法]
' "+DateToStr(DateTimePicker1-> Date)+ " '
[解决办法]
日期类型的要加 ' '
例如
select * from table where date > = ' "+你的日期1+ " ' and date <= ' "+你的日期2+ " '
[解决办法]
用F7把你的SQL打出来看一下 内容是什么
[解决办法]
调试程序的时候跟一下 看看你的str里是什么内容
[解决办法]
这样吧 你把程序这样写
String mydate = DateToStr(DateTimePicker1-> Date);
String str = "select * from 流水帐 where 日期 > ' "+mydate+ " ' ";
[解决办法]
把mydate ShowMessage()出来看一下
Sql应该是没什么问题的了
[解决办法]
要不用
"日期> = ' "+(DateTimePicker1-> Date).FormatString( "yyyy-mm-dd ") + " "+\
(DateTimePicker1-> Time).FormatString( "hh:mm:ss ")+ " ' "+\
"and 日期 <= ' "+(DateTimePicker2).FormatString( "yyyy-mm-dd ")+ " "+\
(DateTimePicker2).FormatString( "hh:mm:ss ")+ " ' ";
[解决办法]
mark
[解决办法]
你看一下DATE是不是带有时间呢?如果有时间的话也会出现记录不出来
[解决办法]
pQuery-> SQL-> Clear();
pQuery-> SQL-> Add( "select * from CECS_XSD where XSD03 > :d_start and XSD03 <=:d_end ");
pQuery-> Parameters-> ParamByName( "d_start ")-> Value=StrToDateTime(Year+ "- "+Month+ "- "+Day+jstime);
pQuery-> Parameters-> ParamByName( "d_end ")-> Value=StrToDateTime((StrToDateTime(Year+ "- "+Month+ "- "+Day)+1).DateString()+jstime);
pQuery-> Open();
[解决办法]
哦
AnsiString jstime = " 00:00:00 ";
[解决办法]
时间 格式的问题.在SQL语句当中以你的写法是两个字符串之问的比较
正确有时间格式如下
to_date( '2007-07-17 19:32:26 ', 'yyyy-mm-dd hh24:mi:ss ')
把你 "DateToStr(DateTimePicker1-> Date) "得到的字符串 '2007-07-17 19:32:26 ' 做一下转换就OK
[解决办法]
忠告:DateToStr有隐患的。如果出來的是“2007年7月17日”你的程序还会正常運行吗?
因为日期時間表達格式,用户是可以設置的。
楼上有几位朋友给了你正確的解。要么格式化,要么用參數。
[解决办法]
楼上的这个好.用格式化.
"日期> = ' "
+(DateTimePicker1-> Date).FormatString( "yyyy-mm-dd ")
+ " "
+\(DateTimePicker1-> Time).FormatString( "hh:mm:ss ")
+ " ' "
+\ "and 日期 <= ' "
+(DateTimePicker2).FormatString( "yyyy-mm-dd ")
+ " "
+\ (DateTimePicker2).FormatString( "hh:mm:ss ")
+ " ' ";
[解决办法]
把dbcommand和dbquery的paramcheck改为false就可以了