我已经将SAD_PB_CAS_STATDT字段的值更新为sysdate,即今天的日期。现在的问题是,当我使用该SAD_PB_CAS_STATDT = sysdate查询某些内容时,它没有返回任何内容。
请参阅下面的sql代码:
SELECT EMPLID, ACAD_CAREER, STDNT_CAR_NBR, ADM_APPL_NBR, APPL_PROG_NBR,
SAD_PB_CAS_STATUS, SAD_PB_CAS_STATDT
FROM PS_SAD_PB_CAS
WHERE SAD_PB_CAS_STATUS IN ('ASG', 'USD')
AND SAD_PB_CAS_STATDT = sysdate;我猜这和sysdate的返回类型有关吧?它是否返回带有日期和时间的内容?如果能在条件中使用sysdate拉取查询,我将不胜感激。
发布于 2018-03-20 14:11:29
正如其他人所提到的,在发布问题之前,请始终检查文档(包括Stack Overflow)。有几种方法可以使您的查询工作,但我建议使用以下WHERE子句:
WHERE
SAD_PB_CAS_STATUS IN ('ASG', 'USD') AND
SAD_PB_CAS_STATDT >= CURDATE() AND -- today at midnight
SAD_PB_CAS_STATDT < CURDATE() + INTERVAL 1 DAY; -- tomorrow at midnight这种方法比仅将SAD_PB_CAS_STADT列转换为日期更受欢迎的原因是,上面的方法允许在列上使用索引(如果存在)。
https://stackoverflow.com/questions/49377279
复制相似问题