psql的isql DECLARE语句

时间:2011-11-17 23:08:15

标签: sybase plpgsql postgresql

我有一个PostgreSQL数据库并且有一个脚本可以从旧的Sybase数据库中计算日期。我怎么能做同样的事情是PostgreSQL?

isql 

DBCOMMAND="eval isql -d $DATABASE -U user -P passwd "

$DBCOMMAND << MSG > $LOG_MEM_EXCEP

DECLARE @PREVINTDATETIME DATETIME 

select @PREVINTDATETIME=(DATEADD(hh, -24, GETDATE()))

DECLARE @CURDATE DATETIME

select CURDATE=GETDATE()

select XTIME, MESSAGE from EXCEPTION_ALERTS where (XTIME between @PREVINTDATETIME AND @CURDATE)

exit MSG

1 个答案:

答案 0 :(得分:1)

基本上它归结为一个简单的SQL语句:

SELECT xtime, message
FROM   exception_alerts
WHERE  xtime BETWEEN now() - interval '1d' AND now();

..从过去24小时内返回表exception_alerts中所有行的两列。

你想制作一个sql或plpgsql函数吗?或者使用命令行界面psql从shell调用它?您期望得到的确切形式是什么?包括列名?