一部の文字列の短い時間の値を24時間形式に変換する際に問題が発生しました。
csv
スクリプトでは、次のforeachループを使用して、 :からのデータの各行を解析します。
Foreach ($Line in $Data) {
$command.CommandText=$SQLCommandPre+ `
"'"+$line."Reference" `
+"','"+$line."Date" `
+"','"$line."Business Hour".SubString(0,8) `
+"','"+"{0:f2}" -f ($line."Total"/2) `
+"','"+"{0:f0}" -f ($line."Number"/2) `
+"')"
[void] $command.ExecuteNonQuery()
}
たとえば、私のソースデータは次のとおりです。
0101,8/19/2012,12:00 AM - 12:59 AM,241.83,21
現在、スクリプトでは午前12時を取得していますが、00:00に変換する必要があります。以下を使用してみましたが、PowerShellが作成するクエリには影響しません。
"{0:HH:mm}" -f ($line."Business Hour".SubString(0,8))
目標を達成するための別の方法のヒットを見つけることができませんでした。