欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

时间范围查询的语句

更新时间: 2014-01-05 02:11:55 责任编辑: Author_N1

 

求一个时间范围查询的语句
时间字段是 saletime  date类型 数据2013-11-15 14:20:39 等等
如果我查询条件里的两个变量 start和end 填入完整的如上时间 可以查询出正确的结果
但是要求日期某一天的时间范围查询 写如下的语句 就查询不出任何数据了
select * from saled where substr(to_char(saletime),1,10) = '2013-11-15' and 
saletime between to_date('2013-11-15 12:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2013-11-15 17:00:00','yyyy-mm-dd hh24:mi:ss');

--参考方法--
引用:
Quote: 引用:

substr(to_char(saletime),1,10) = '2013-11-15' 
这个不指定格式,可以吗?
这样还用不上索引呀

刚发现 已更正了 可以正确查出数据了
但是写到PB数据窗口里查询时 却报错 ‘无效的数字类型’ 此段代码如下
:as_day :as_start :as_end是参数
 substr(to_char(saletime,'yyyy-mm-dd'),1,10) = :as_day ) AND  
         (saled.saletime between to_date(:as_day+' '+:as_start,'yyyy-mm-dd hh24-mi-ss') and to_date(:as_day+' '+:as_end,'yyyy-mm-dd hh24-mi-ss')))

字符串拼接 ::as_day+' '+:as_start 应该为::as_day
--参考方法--
' '
--参考方法--
:as_start
--参考方法--
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

substr(to_char(saletime),1,10) = '2013-11-15' 
这个不指定格式,可以吗?
这样还用不上索引呀

刚发现 已更正了 可以正确查出数据了
但是写到PB数据窗口里查询时 却报错 ‘无效的数字类型’ 此段代码如下
:as_day :as_start :as_end是参数
 substr(to_char(saletime,'yyyy-mm-dd'),1,10) = :as_day ) AND  
         (saled.saletime between to_date(:as_day+' '+:as_start,'yyyy-mm-dd hh24-mi-ss') and to_date(:as_day+' '+:as_end,'yyyy-mm-dd hh24-mi-ss')))

字符串拼接 ::as_day+' '+:as_start 应该为::as_day
--参考方法--
' '
--参考方法--
:as_start

刚想起oracle里不能这么拼接字符串 和PB脚本搞混了 还有HH24:MI:SS也修改过了 不报错了
数据窗口查询不出数据 执行SQL语句的话 倒是能查询出数据……

如果是这种情况,你就需要检查你参数的值的问题了。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:55
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6839/
本文WWW.DOC100.NET DOC100.NET版权所有。