如何解决时间戳早于几天从POSTGRES中删除行,这是来自另一个表的SELECT语句的结果
我想从POSTGRES的表中删除所有时间戳值早于date列的行。
要删除较旧的行,然后使用某些时间戳,我使用了-
SELECT * from gps_coordinates WHERE sattime < Now() - INTERVAL 7 DAY;
现在我想从另一个表中获取间隔时间,并基于此间隔删除行。我不知道怎么办。我试过了但这不起作用-
DELETE from gps_coordinates where sattime < Now() - INTERVAL || (SELECT backup_day as days from gps_devices WHERE id=11) || 'DAY'
还有这个-
DELETE from gps_coordinates where sattime < Now() - INTERVAL (SELECT backup_day as days from gps_devices WHERE id=11) || 'DAY'
需要帮助
解决方法
您可以串联并投射:
awk -F"," '
{
printf "echo %s ",$1
for (i=3; i<=NF;i=i+3) {
printf " command1 %s command2 %s command3 %s",$i,$(i+1),$(i+2)
}
print " command3"
}' test.txt
子查询必须始终返回不超过一行。
,我认为你想要这个:
$path = '\\server\folder\filefolder\ReadyForProd'
$path2 = '\\server\folder\filefolder\ReadyForStage'
$path3 = '\\server\otherfolder\filefolder2\ReadyForProd'
$path4 = '\\server\otherfolder\filefolder2\ReadyForStage'
$stats = 0
$msg = ''
$days = 0
$hours = 0
$minutes = 10
$files = @(Get-ChildItem -Recurse -Path $path,$path2,$path3,$path4 -Include '*.*' | ?{ $_.LastWriteTime -lt (Get-Date).AddDays(-$days).AddHours(-$hours).AddMinutes(-$minutes) -and $_.psIsContainer -eq $false})
if ($files -ne $null) {
$f_names = [System.String]::Join('|',$files)
$msg = 'Message: ' + $f_names
$stats = $files.Count
}
Write-Host $msg
Write-Host "Statistic: $stats"
或使用函数DELETE FROM gps_coordinates
WHERE sattime < NOW() - INTERVAL '1 day' * (SELECT backup_day FROM gps_devices WHERE id=11);
:
MAKE_INTERVAL()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。