在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
很常见的一个问题要查询数据库中某个时间段的记录?在写sql语句时查询肯定要传入开始结束时间参数,翻阅程序工程代码发现不同人写法不同,仔细想想其实写sql查询语句传入日期时间参数是比传入整形或字符串类型要复杂些,因为设计到日期时间的现实格式,把常见的几种写法总结如下:
SQL.Add(' and convert(int,(convert(varchar,inquestinfo.begin_time,112)))<= ' + EndDate); SQL.Add(' and convert(int,(convert(varchar,inquestinfo.end_time,112)))>= ' + BeginDate); 这种写法要熟悉sqlserver中函数convert的用法,还要知道最后一个参数值对应的整数值的格式,很麻烦也浪费时间。
代码例下: with self.qry do begin try SQL.Clear(); Parameters.Clear(); Close(); Prepared := False; SQL.Text := 'SELECT [CurrentNO], [Mask], [CurrentDate] FROM [CurrentID]' + ' WHERE [TabName]= :TabName AND [KeyField]=:KeyField;'; Parameters.ParseSQL(SQL.Text, True); //一定要加,否则运行时报告异常edatabaseerror parameter 'table' not found,就是说参数table在SQL中找不到 Parameters.ParamByName('TabName').Value := Table; Parameters.ParamByName('KeyField').Value := KeyField; Prepared := True; Open(); |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论