尝试建议的方法后对代码进行了更改
The source code is :
foreach($line in $csv)
{
$MySQLQuery=$line.query
$mycommand = New-Object
MySql.Data.MySqlClient.MySqlCommand($MySQLQuery,$myConnection)
$dataAdapter = New-Object
MySql.Data.MySqlClient.MySqlDataAdapter($mycommand)
$dataSet = New-Object System.Data.DataSet
$dataAdapter.Fill($dataSet,"data")
$mycommand.Dispose()
$newData = $dataSet.Tables["data"]
$rowCount = $newData.Rows.count
if($rowCount -ne 0)
{
if($previousData -eq $null ){$extractedData = $newData;}
else {$extractedData = Compare-object $previousData $newData | Where {
$_.SideIndicator -like "=>" } | Select -ExpandProperty InputObject }
$previousData = $newData
}
$newData
包含列名为" stock_name" 的表格 必须删除重复项。 $ previousData属于类型 数据表,用于存储上一次迭代的数据。 $ extractedData用于保存差异数据。
=============================================== =========================
答案 0 :(得分:1)
我理解的是,您希望$extractedData
中的新数据$newDataset
中的新数据与基于$previousData
的{{1}}进行比较。
因此,您可以像这样更改stock_name
:
Compare-object
我猜它会起作用。
答案 1 :(得分:0)
如果您想要新数据,为什么您看起来想要以前的数据?尝试过滤并展开$DatasetTable = "asdf","qwer","zxcv"
$newData = "asdf","qwer","zxcv",";lkj"
$newDataSet = Compare-object $DatasetTable $newData | Where { $_.SideIndicator -like "=>" } | Select -ExpandProperty InputObject
$newDataSet
cmdlet的结果。下面的代码只返回“; lkj”数据。
$previousdata
很难说,因为我没有看到您的第一个+=
运算符之前select * from TABLE_NAME
where DATEPART(day, DATE_COLUMN) between
(case when datepart(day, getdate()) <= 15 then 1 else 16 end) and
(case when datepart(day, getdate()) <= 15 then 15 else 31 end)
变量的确定位置。