HSQLDB - 如何处理“VARCHAR”类型的存储?
Posted
技术标签:
【中文标题】HSQLDB - 如何处理“VARCHAR”类型的存储?【英文标题】:HSQLDB - How is the "VARCHAR" type storage handled? 【发布时间】:2014-04-18 14:55:02 【问题描述】:我的问题对你们中的一些人来说一定很愚蠢,但我无法直接在 HSQLDB 网站、谷歌或这里找到答案(我可能错过了一些东西,但我不这么认为,因为那里与其他知名数据库相比,网络上关于 HSQLDB 的内容并不多)。
为了更详细地解释,我的背景是更多的 Oracle DB 背景...我从 HSQLDB 开始,我想知道,因为我们不能使用类型声明,例如:
“mycolumn VARCHAR(25 CHAR)” “mycolumn VARCHAR(25 BYTE)”如何在 HSQLDB 上管理存储,因为我必须使用“mycolumn VARCHAR(25)”而不是以前的解决方案。如果有人得到关于字符存储方式的良好描述或链接,我会很高兴,以避免例如特殊字符的存储问题。
提前致谢!
安东尼
【问题讨论】:
【参考方案1】:HSQLDB 使用带有 UTF-16 编码的 Unicode 字符集。因此,所有可能的字符都可以存储在 CHAR、VARCHAR 或 CLOB 列中。 VARCHAR 列的声明大小是指允许的最大 UTF-16 字符数。
VARCHAR 数据在磁盘上的物理存储类似于 UTF-8,每个拉丁字符占用一个字节,但其他字符占用一个字节以上。用户看不到这种编码,其唯一意义是用于长 VARCHAR 数据的磁盘空间量。
【讨论】:
以上是关于HSQLDB - 如何处理“VARCHAR”类型的存储?的主要内容,如果未能解决你的问题,请参考以下文章