gpt4 book ai didi

如果日期介于(有点静态日期)条件之间,则 SQL 添加新时间戳

转载 作者:行者123 更新时间:2023-11-29 14:02:19 25 4
gpt4 key购买 nike

所以如果记录属于这种情况,我需要在结果集中添加一个时间戳。

例子:

  • 使用今天的日期“07-06-2011”作为日期时间的比较,如果记录落在 2011 年 3 月 10 日和 2011 年 4 月 11 日的时间戳之间,我需要向结果集添加时间戳

  • 使用时间戳“08-01-2011”作为日期时间的比较,如果记录介于 2011 年 4 月 10 日和 5 月 11 日之间,我需要向结果集添加时间戳

等等……

遇到语法问题以及如何计算具体日期,有什么想法吗?

运行日期的示例数据:“07-06-2011”

  • 7 月份的任何日期都可以,但 2011 年 3 月 10 日和 2011 年 4 月 11 日应该保持不变,直到 8 月。那么应该是接下来的两个同时月

.

date_feild       new_date_feild
------------ --------------
"03-09-2011"
"03-15-2011" "07-06-2011"
"04-10-2011" "07-06-2011"
"04-15-2011

伪查询:

SELECT date_feild, CASE
WHEN date_field BETWEEN (three months ago on the 10th) AND (two months ago on the 11th)
THEN NOW() AS new_date_feild
END
FROM tbl_name
WHERE other_conditions

我想我想知道如何以这种格式获取这些日期:

  • 三个月前的10号
  • 两个月前的11号

更新:

好吧,我编造了这个乱七八糟的查询,其他人可以帮忙吗?

SELECT TO_DATE(
TEXTCAT(
TEXTCAT(
TEXTCAT(
date_part('YEARS', CURRENT_DATE - INTERVAL '3 MONTHS'),
'-'),
date_part('MONTHS', CURRENT_DATE - INTERVAL '3 MONTHS')),
'-10'),'YYYY-MM-DD') AS previous_date,
TO_DATE(
TEXTCAT(
TEXTCAT(
TEXTCAT(
date_part('YEARS', CURRENT_DATE - INTERVAL '3 MONTHS'),
'-'),
date_part('MONTHS', CURRENT_DATE - INTERVAL '3 MONTHS')),
'-10'),'YYYY-MM-DD') + INTERVAL '1 MONTH' + INTERVAL '1 DAY' AS next_previous_date

最佳答案

尝试改用 DateTime,或仅使用 Date。它更容易进行比较。我自己也有类似的问题,但涉及的问题要少得多。

这是不同方法和效率的简单链接:http://demiliani.com/blog/archive/2006/01/19/3384.aspx

从这里获取 Java 中的当前日期也相当容易,尽管我花了很长时间才弄明白。这是我的做法:

//Get current DateTime
java.util.Date javaDate = new java.util.Date();
long javaTime = javaDate.getTime();
java.sql.Date sqlDate = new java.sql.Date(javaTime);
java.sql.Time sqlTime = new java.sql.Time(javaTime);
String dateTime = sqlDate.toString() + " " + sqlTime.toString();

这有点奇怪,但 sql 似乎可以更好地处理这个问题。

关于如果日期介于(有点静态日期)条件之间,则 SQL 添加新时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6600863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com