MySql 查询起始日期或截止日期存在 select 数据
MySql query for from date or to date exist select data
我有一个名为 cubbersclosure
的 table,数据添加如下:
|---------------------|------------------|-------------|-------------|
| closureId | cubbersId | fromDate | toDate |
|---------------------|------------------|-------------|-------------|
| 3 | 3 | 2019-07-24 | 2019-07-25 |
|---------------------|------------------|-------------|-------------|
我需要通过以下场景获取数据:
- 如果我的查询中只有
fromDate
或 toDate
存在,则获取数据。
例如: SELECT * FROM cubbersclosure cc WHERE CAST('2019-07-23' as date) <= cc.toDate AND CAST('2019-07-26' as date) >= cc.fromDate AND cc.cubbersId = '3'
上面的查询 fromDate
和 toDate
在 table 中不一样。所以我不想获取数据。但是这个查询像这样获取数据:
使用下面的查询
SELECT * FROM cubbersclosure cc WHERE (cc.toDate=CAST('2019-07-23' as date)
OR cc.toDate=CAST('2019-07-26' as date) OR cc.fromDate=CAST('2019-07-23' as date)
OR cc.fromDate=CAST('2019-07-26' as date)) AND cc.cubbersId = '3'
我怀疑您想要 return 给定 cubbersId
的记录,这些记录不与 from/to 日期范围重叠。您可以尝试以下查询:
SELECT *
FROM cubbersclosure
WHERE
(toDate <= '2019-07-23' OR fromDate >= '2019-07-26') AND
cubbersId = 3;
我有一个名为 cubbersclosure
的 table,数据添加如下:
|---------------------|------------------|-------------|-------------|
| closureId | cubbersId | fromDate | toDate |
|---------------------|------------------|-------------|-------------|
| 3 | 3 | 2019-07-24 | 2019-07-25 |
|---------------------|------------------|-------------|-------------|
我需要通过以下场景获取数据:
- 如果我的查询中只有
fromDate
或toDate
存在,则获取数据。
例如: SELECT * FROM cubbersclosure cc WHERE CAST('2019-07-23' as date) <= cc.toDate AND CAST('2019-07-26' as date) >= cc.fromDate AND cc.cubbersId = '3'
上面的查询 fromDate
和 toDate
在 table 中不一样。所以我不想获取数据。但是这个查询像这样获取数据:
使用下面的查询
SELECT * FROM cubbersclosure cc WHERE (cc.toDate=CAST('2019-07-23' as date)
OR cc.toDate=CAST('2019-07-26' as date) OR cc.fromDate=CAST('2019-07-23' as date)
OR cc.fromDate=CAST('2019-07-26' as date)) AND cc.cubbersId = '3'
我怀疑您想要 return 给定 cubbersId
的记录,这些记录不与 from/to 日期范围重叠。您可以尝试以下查询:
SELECT *
FROM cubbersclosure
WHERE
(toDate <= '2019-07-23' OR fromDate >= '2019-07-26') AND
cubbersId = 3;