0
我需要一些幫助到發送一個shell變量的PSQL -c查詢.SH內:使用shell變量
#!/bin/sh
timeStamp=`date +%s`
timeStampLast24H= expr $timeStamp - 86400
psql -U postgres -c "COPY (SELECT atribute FROM table WHERE ts>$timeStampLast24H) TO stdout DELIMITER ';' CSV HEADER; > (...)"
我這樣做是爲了在最後一天,因爲得到的只有行創建數據庫的人使用rectimestamp
作爲整數,並且來自postgres的普通函數不起作用(例如now()-interval 'Given_Period'
)。
更改「$ timeStampLast24H」的東西,使postgres瞭解一個整數,完全對應於過去24小時內的時間戳,對我來說也是可以的。如果我在其位置使用確切的時間戳,那麼查詢效果很好。
謝謝。
但我可以通過回顯正常打印timeStampLast24H! – Minish
現在在你的文章中的代碼,你不能。請參閱http://ideone.com/wx7H5f或者如果可以的話,它在代碼之前有一個值。您可能會認爲在「分配」行正在工作之後有一個'echo',但實際上是輸出它的'expr'調用。 –
那麼它應該是'timeStampLast24H = expr $ timeStamp-86400'嗎? – Minish