使用IF将T-SQL转换为Postgres

时间:2014-12-12 08:35:39

标签: sql postgresql tsql

IF NULLIF(@date, '') IS NULL
select * from [dbo].[SRC_DSSI_OPER_STAT]
else
select * from [dbo].[SRC_DSSI_OPER_STAT] where CONVERT(DATE, (shift_start_date)) =  CONVERT(DATE, @date - 1)

如何将此T-sql代码转换为PostgreSQL

1 个答案:

答案 0 :(得分:0)

假设@date是一个字符串,在postgresql中我会称之为 input_date

IF input_date = '' THEN
    select * from "SRC_DSSI_OPER_STAT";
ELSE
    select * from "SRC_DSSI_OPER_STAT" where shift_start_date::date =  input_date - interval '1' day;
END IF;

您可能会遇到有关日期格式的问题,在这种情况下,您必须更多地处理日期转换。