我在一个csv文件中有一个用于不同交易所的交易日期的数据集。将它们存储在数据库中的最佳方法是什么?数据集看起来像这样...
US,DE,JP
20040102,20040102,20040102
20040105,20040105,20040105
20040106,20040106,20040106
...
20210608,20210524,20210715
20210609,20210525,20210716
...
基本上,每个国家/地区都有一列其证券交易所开放的日期。创建完此表后,我想查询它以返回特定交易所两个日期之间的交易日数。例如,在“美国”中,2020年5月29日至2020年6月19日之间的交易日数为15。
构建表的最有效方法是什么,我将使用哪种查询来获取两个日期之间的交易日数。
谢谢
答案 0 :(得分:0)
使用一个包含两列的表。一栏代表国家(代码),另一栏代表一天。像这样:
CREATE TABLE trading_days
(country varchar(2),
day date,
UNIQUE (country,
day));
(数据类型可能会因所使用的DBMS的不同而有所不同,而您并没有具体说明。)
查询以获取某个时期内某个国家/地区的交易日数的查询可能类似于:
SELECT count(*)
FROM trading_days
WHERE day >= <lower bound of period>
AND day < <upper bound of period plus one day>
AND country = <country code>;