SQL サーバーから 1 週間のデータを取得しようとしており、そのデータを別の名前のファイルに書き込もうとしています。次のコードは機能せず、変数を使用してファイル ハンドラーを作成する方法が見つかりません。
もう 1 つの質問は、SQL データのサイズが非常に大きい場合 (1 日あたり 1 ~ 2 ギガバイトで、テーブル全体が 1 年を超える場合)、この毎月のフェッチ方法は毎日のフェッチよりも高速ですか?
my $sqlGetEid = "select trunc(datetime, 'DD') truncdate, x, y from z
where DATETIME between TO_DATE('$dt1','YYYY-MM-DD') and TO_DATE('$dt1','YYYY-MM-DD')+7";
for ($day=1; $day<=7; $day++){
open('dayfile_$day', "> ./temp/Wireless_$day.csv");
}
while ( my ($tday,$x,$y) = $curSqlEid->fetchrow_array() )
{
printf {'dayfile_$tday'} ("%s,%d\n", $x,$y);
}
for ($day=1; $day<=7; $day++){
close('dayfile_$day');
}