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
假设@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;
您可能会遇到日期格式问题,在这种情况下,您必须在日期转换方面进行更多工作。