使用sysdate的SQL

时间:2018-03-20 06:03:33

标签: mysql sql

我已更新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提取查询,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

正如其他人所提到的,在发布问题之前,请务必查看文档(包括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列转换为日期的原因是,上述内容允许在列上使用索引(如果存在)。