我正在开发一个模块,用于将数据从Oracle提取到PowerShell数据表中,因此我可以根据结果自动执行某些分析并执行各种操作。一切似乎都在工作,我根据Oracle中的列类型将列转换为特定类型。我遇到的问题与null日期有关。我似乎无法找到一种很好的方法来捕获Oracle中的日期列具有空值。
有没有办法将[datetime]
转换为null或空?
答案 0 :(得分:2)
这是一个简单的函数来测试数据库列中的值是否为NULL:
function test-sqlnull{
Param($value)
return [System.DBNull]::Value.Equals($value)
}
如果需要在datetime字段中存储null,只需将其设置为[DBNull] :: Value。
答案 1 :(得分:0)
我认为我有一个可行的解决方案。而不是尝试将字段设置为null或空,我根本不设置它。现在可以通过检查文件类型是否为[System.DBNull]
来识别空值。
$data | ? {$_.myDate.GetType() -eq [System.DBNull]}