繁体   English   中英

SQL在where子句中使用日期

[英]SQL working with dates in where clause

我在这里有此SQL代码。

SELECT cl.clientid,
       cl.clientname,
       cl.billingdate,
       cp.startdate,
       cp.expiration, 
       (SELECT COUNT(*)
            FROM invoice 
            HERE client = cl.clientid) AS invoicecount  
FROM client cl
INNER JOIN clientplan cp ON cp.client = cl.clientid
WHERE cl.isbilled = 1 AND expiration is NULL AND expiration > '2012-06-22'

我的问题是,一个客户可能有3个客户计划,它们要么具有到期日期,要么到期为NULL。 我正在尝试获取未过期或为NULL的行。

我究竟做错了什么?

我不确定,但这不是您想要的:

SELECT cl.clientid, cl.clientname, cl.billingdate, cp.startdate, cp.expiration, 
(select count(*) from invoice where client = cl.clientid) as invoicecount  
FROM client cl
inner join clientplan cp on cp.client = cl.clientid
where cl.isbilled = 1 and (expiration is NULL or expiration > '2012-06-22')

用或而不是和到期。 因为到期不能为空,并且>'2012-06-22'...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM