在 where 子句中使用 next_day 和 to_date

Posted

技术标签:

【中文标题】在 where 子句中使用 next_day 和 to_date【英文标题】:use next_day and to_date in where clause 【发布时间】:2014-02-03 18:16:56 【问题描述】:

朋友..

我正在尝试 函数,但无法使其正常工作..

行数以百万计,因此尽量避免语句中的 trunc 以获得更好的查询性能并使用索引...这是在 Oracle 11g 中

基本上,select查询从输入日期中减去90天,并显示最近7天内第一个可用的星期日。

日期 (20140203) 和 90 是输入参数,因此它可以变化...

SELECT  next_day((to_date(20140203, 'yyyymmdd') - 90, 'DAY') -7, 'SUNDAY')
FROM DUAL;

我已经尝试了几个小时的不同变化,但无法弄清楚。

感谢您阅读本文...

【问题讨论】:

你能发一个例子吗! 【参考方案1】:

试试这个:

SELECT  next_day(((to_date(20140203, 'yyyymmdd') - 90) -7), 'SUNDAY')
FROM DUAL;

我不知道'DAY' 在查询中做了什么。

【讨论】:

Gordon.... 这很完美,第一次尝试就成功了...我会在 6 分钟内接受这个答案.. 目前不允许我...

以上是关于在 where 子句中使用 next_day 和 to_date的主要内容,如果未能解决你的问题,请参考以下文章

为啥聚集函数不能出现在where子句中

如何在 WHERE 子句中使用混合文本和日期字段?

如何在 mysqli 准备语句中使用多个内部连接和多个 WHERE 子句? [复制]

在游标 where 子句和游标行类型中使用函数参数

在实体框架中使用动态 where 子句

在连接中使用 Where 子句,以及 Group by 和 Order By