You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LibreOffice Base的HSQLDB查询中为日期添加天数?

在LibreOffice Base(嵌入式HSQLDB)中计算日期后30天的到期日

我正在使用带有嵌入式HSQLDB数据库的LibreOffice Base,现有查询语句如下,用于从表中提取单行数据:

SELECT "ID", "Name", "Date" FROM "Table" WHERE "ID" = ?

我希望添加一个“Due Date”字段,显示“Date”字段日期后30天的日期,但尝试多种方法均未成功,以下是尝试过的语句及对应的错误信息:

  1. ..., "Date" + 30 AS "Due Date", ...
    错误:Wrong date type: java.lang.NumberFormatException
  2. ..., DATEADD(D, 30, "Date") AS "Due Date", ...
    错误:Syntax error in SQL statement
  3. ..., DATEADD("d", 30, "Date") AS "Due Date", ...
    错误:Access is denied: DATEADD in statement
  4. ..., DATEADD("Date", INTERVAL 30 DAY) AS "Due Date", ...
    错误:Syntax error in SQL statement
  5. ..., "Date" + TO_DATE( 30 ) AS "Due Date", ...
    错误:Access is denied: TO_DATE in statement
  6. ..., "Date" + INTERVAL 30 DAYS AS "Due Date", ...
    错误:Syntax error in SQL statement
  7. ..., CAST("Date" AS INT) AS "Due Date", ...
    错误:Wrong data type: java.lang.NumberFormatException
  8. ..., CAST("Date" AS FLOAT) AS "Due Date", ...
    错误:Wrong data type: java.lang.NumberFormatException
  9. ..., CONVERT(INT, "Date") AS "Due Date", ...
    错误:Syntax error in SQL statement
  10. ..., CONVERT('int', "Date") AS "Due Date", ...
    错误:Wrong data type: Date in statement
  11. ..., DATEDIFF(DAY, '1899-12-30T00:00:00', "Date") AS "Due Date", ...
    错误:Syntax error in SQL statement
  12. ..., DATEDIFF('1899-12-30T00:00:00', "Date") AS "Due Date", ...
    无报错但无输出
  13. ..., DATEDIFF('d', '1899-12-30T00:00:00', "Date") AS "Due Date", ...
    错误:Wrong data type: java.lang.IllegalArgumentException
  14. ..., CAST( ( DATEDIFF( 'day', '1899-12-30 00:00:00', "Date" ) + 30 ) AS DATE ) AS "Due Date", ...
    错误:Wrong data type: java.lang.IllegalArgumentException
  15. ..., CAST( ( DATEDIFF( 'day', '1899-12-30 00:00:00', "Date" ) + 30 ) AS DATETIME ) AS "Due Date", ...
    错误:Wrong data type: java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
  16. ..., "Date" + DAYS( '1900-01-30 00:00:00' ) AS "Due Date", ...
    错误:Access is denied: DAYS in statement
  17. ..., "Date" + DAY( '1900-01-30 00:00:00' ) AS "Due Date", ...
    错误:Wrong data type: java.lang.NumberFormatException
  18. ..., "Date" + '1900-01-30 00:00:00' AS "Due Date", ...
    错误:Syntax error in SQL statement
  19. ..., "Date" + CAST( '1900-01-30 00:00:00' AS DATE ) AS "Due Date", ...
    错误:Wrong data type: java.lang.NumberFormatException
  20. ..., CAST( "Date" AS "DATETIME" ) + CAST( '1900-01-30 00:00:00' AS "DATETIME" ) AS "Due Date", ...
    错误:Wrong data type: java.lang.NumberFormatException
  21. ..., CAST( YEAR( "Date" ) || '-' || MONTH( "Date" ) || '-' || ( DAY( "Date" ) + 30 ) AS "DATE" ) AS "Due Date", ...
    错误:Wrong data type: java.lang.IllegalArgumentException

编辑1:
此问题并非类似问题的重复,我在第4和第6次尝试中已使用INTERVAL语法但未成功。

编辑2:
22. ..., "Date" + INTERVAL '30' DAYS AS "Due Date", ...
错误:Syntax error in SQL statement
23. ..., "Date" + 30 * INTERVAL '1' DAYS AS "Due Date", ...
错误:Syntax error in SQL statement
24. ..., "Date" + INTERVAL '1' MONTH AS "Due Date", ...
错误:Syntax error in SQL statement
25. ..., "Date" + (INTERVAL '1' MONTH) AS "Due Date", ...
错误:Syntax error in SQL statement
26. ..., "Date" + (INTERVAL '1' DAY * 30) AS "Due Date", ...
错误:Syntax error in SQL statement

内容的提问来源于stack exchange,提问作者18107

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 12:32:09