Informix SQL - 有没有办法动态检索某一天的日期?

时间:2013-08-11 14:55:50

标签: sql informix

我正在寻找一种只获得时间戳的方法,这些时间戳只发生在星期一。因此,例如,如果我有2013-07-22 00:30:28:584之类的时间戳,则它应与查询匹配,而第二天的相同时间戳不应该(即2013-07-23 00:30:28:584)。

我知道我可以使用以下内容对SQL查询中的日期进行硬编码:

SELECT *
FROM my_table
WHERE DATE(my_timestamp) IN ('2013-08-12', '2013-08-05', ... , '2013-03-04');

但我希望有一种方法可以在查询中动态计算出来,而无需专门列出所需的日期。

我想做类似的事情:

SELECT *
FROM my_table
WHERE DATE(my_timestamp) = TODAY - INTERVAL(6) DAY TO DAY;

...但是这只会得到 last 星期一,而不是所有星期一,INTERVAL(?)必须根据当天的情况更新SQL无论如何都被执行了。

有谁知道这样做的方法?或者,如果它根本不可能?

1 个答案:

答案 0 :(得分:3)

您正在寻找weekday功能:

where weekday(my_timestamp) = 1;

记录在案here