[英]SQL using sysdate
我已经更新了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
进行查询,对您有所帮助。
正如其他人提到的那样,在发布问题之前,请始终检查文档(包括堆栈溢出)。 有几种方法可以使您的查询工作,但我建议使用以下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
列仅转换为日期,是因为上述方法允许在该列上使用索引(如果存在)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.