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