0

(我在其他地方发布了这个,但这可能是一个更好的论坛。)

我最近买了一台新笔记本电脑,并试图避免使用 MS Office。我已加载 OpenOffice 4.1.8,但在 OO 基础中编写查询语句时遇到问题。据说OO基础使用HyperSql数据库引擎(不知道是什么版本,可能是2.5.1?),但是写一些简单的SELECT语句有困难。(我在 MS Access、Ingres 和一点 PostgreSQL 方面都有丰富的经验)。

我花了很长时间才确定

SELECT lastname + ', ' + firstname from Accounts

不够好。我必须指定:

SELECT lastname + (', ') + firstname from Accounts

只是因为我最终在http://www.hsqldb.org/doc/2.0/guide (2.5.1) 站点上通过 Backus-Naur 表格来发现它。

那个网站也让我误入歧途,说(在 BNF 中)|| 是字符串连接运算符,但 OO 基础说“无效使用竖线”,这意味着 hsqldb 2.5.1 参考并不是我正在寻找的参考。(也许我需要旧版本的参考?)

此外,一些函数似乎不可用,CONCAT 和 IFNULL/ISNULL 就是其中之一。这似乎意味着缺少一两个库。

所以,真的,我有两个问题:谁能给我指出一个适用于 OO 基础(4.1.8)查询语言的 BNF?而且,也许告诉我是否有某种方法可以确定我是否缺少它使用的一个库或两个函数?

4

1 回答 1

0

Apache OpenOffice 一直嵌入 HSQLDB 1.8,在 AOO 4.1.8 中可能仍然如此。要验证您的版本,请查看https://wiki.openoffice.org/wiki/HSQLDB:Tips_and_Tricks#How_to_know_the_version_of_the_embedded_HSQLDB.3F。文档位于http://www.hsqldb.org/doc/1.8/guide/guide.html。引擎和 SQL 语法比 HSQLDB 2 和更高版本更受限制。

对于更新的东西,请考虑嵌入 Firebird 的 LibreOffice Base。或者更好的是,在拆分数据库设置中使用 Base 和 PostgreSQL(与 LO 和 AOO 一起使用)。拆分数据库设置功能强大,尽管它们不再包含在单个文件中,这可能不太方便。

于 2021-01-02T19:23:55.553 回答