gpt4 book ai didi

java - SQL Where子句日期跨度

转载 作者:行者123 更新时间:2023-11-29 04:52:03 26 4
gpt4 key购买 nike

我正在使用 java、eclipse 和 JDBC。

我有 3 个表(companypriceVolumedividend),其中 priceVolume 包含一个名为transdate(股票值(value)分成几个不同类别的日期,IE.openValue、CloseValue、averageValue...)。在我所有的表中,主键是 Ticker(一家公司的股票代码)。

我在公司中还有一个名为 Industry 的属性,它告诉我股票来自哪个行业。

我有几天的跨度,例如其中之一是 09.25.2001 到 02.28.2012,如果该公司属于所选行业,我想从 priceVolume 中获取值。

我有这个查询,但我不知道如何用 WHERE 子句来给我这个跨度,而且只给我这个跨度。如果类型是日期类型,我想我会知道如何表达它。然而,目前,作为一个字符串,我不知道。我也无法控制数据库,只能从中读取数据。

ResultSet rsTickers = stat.executeQuery("SELECT Ticker, OpenValue, CloseValue,
TransDate FROM company NATURAL JOIN pricevolume WHERE industry = " + GivenIndustry + "
GROUP BY ticker");

我目前设置了我的程序,以便它只给我所有行业匹配给定行业的行,我只是在我的程序中对它们进行排序(我扔掉了所有不在范围内的行) .有效果,但是我觉得真的没效果。所以现在我想将我的查询限制为符合我的标准的 transDates。

我只是想看看如何做得更好。

最佳答案

您可以转换为 datetime 并像这样检查

ResultSet rsTickers = stat.executeQuery("SELECT Ticker, OpenValue, CloseValue,
TransDate FROM company NATURAL JOIN pricevolume WHERE industry = " + GivenIndustry + "
AND CAST(transDates AS DATETIME) BETWEEN '2001-9-25' AND '2012-2-28'
GROUP BY ticker");

关于java - SQL Where子句日期跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712106/

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