HSQLDB(LibreOffice Base)计算日期差:查询剩余天数报错求助
解决HSQLDB中计算日期差的SQL语法问题
你的问题出在HSQLDB对DATEDIFF函数的语法要求上,同时遗漏了要输出的Item字段,修正后的查询语句如下:
SELECT "Item", DATEDIFF('day', CURRENT_DATE, "Expiry") AS "Days Remaining" FROM "Expirations"
关键修正点:
- HSQLDB的
DATEDIFF第一个参数必须是字符串格式的日期单位(比如'day',用单引号包裹),不能直接写DAY - 移除
DATEDIFF和括号之间的多余空格 - 必须在SELECT子句中明确指定要输出的
Item字段,这是你需要展示的核心内容之一
补充说明:
如果Expiry日期早于当前日期,计算结果会是负数,表示已过期的天数。如果只需要查看未过期的条目,可以添加WHERE条件过滤:
SELECT "Item", DATEDIFF('day', CURRENT_DATE, "Expiry") AS "Days Remaining" FROM "Expirations" WHERE "Expiry" >= CURRENT_DATE
内容的提问来源于stack exchange,提问作者hiigaran
相关产品推荐
相关产品推荐

