SQL return 特定日期或之后的行
SQL return rows on or after an specific date
我正在尝试导出有效期在 2019 年之后的会员详细信息列表
|name |expiry |
|------|----------|
|arthur|2010-01-01|
|ben |2018-05-17|
|craig |2005-12-30|
|dean |2021-09-02|
所以我刚好在
|name |expiry |
|------|----------|
|dean |2021-09-02|
我想我可以简单地在 WHERE 子句中使用日期
SELECT name, expiry
FROM table
WHERE expiry < GETDATE()
AND expiry >= '2019-01-01'
但是,它仍然 returns 其他条目,但不确定为什么
查询应该按照您希望的方式工作。问题可能是由于某种原因到期列不是 Date 类型引起的。这可能会导致不良行为。
假设您正在使用 SQL 服务器:
SELECT name, expiry
FROM tmp
WHERE expiry < GETDATE()
AND expiry >= CONVERT(DATE, '2019-01-01', 102)
我正在尝试导出有效期在 2019 年之后的会员详细信息列表
|name |expiry |
|------|----------|
|arthur|2010-01-01|
|ben |2018-05-17|
|craig |2005-12-30|
|dean |2021-09-02|
所以我刚好在
|name |expiry |
|------|----------|
|dean |2021-09-02|
我想我可以简单地在 WHERE 子句中使用日期
SELECT name, expiry
FROM table
WHERE expiry < GETDATE()
AND expiry >= '2019-01-01'
但是,它仍然 returns 其他条目,但不确定为什么
查询应该按照您希望的方式工作。问题可能是由于某种原因到期列不是 Date 类型引起的。这可能会导致不良行为。
假设您正在使用 SQL 服务器:
SELECT name, expiry
FROM tmp
WHERE expiry < GETDATE()
AND expiry >= CONVERT(DATE, '2019-01-01', 102)