对于你们中的一些人来说,我的问题肯定是愚蠢的,但我一直无法在HSQLDB网站,谷歌或这里直接找到答案(我可能会错过一些东西,但我不认为因此,与其他众所周知的数据库相比,网上关于HSQLDB的内容并不多。)
为了更详细地解释,我的背景是更多Oracle数据库背景......我从HSQLDB开始,我想知道,因为我们不能使用类型声明,如:
如何在HSQLDB上管理存储,因为我必须使用" mycolumn VARCHAR(25)"而不是以前的解决方案。如果有人得到一个很好的描述或关于如何存储字符的链接,我会很高兴,以避免存在特殊字符的存储问题。
提前致谢!
安托
答案 0 :(得分:1)
HSQLDB使用带有UTF-16编码的Unicode字符集。因此,所有可能的字符都可以存储在CHAR,VARCHAR或CLOB列中。 VARCHAR列的声明大小是指允许的最大UTF-16字符数。
磁盘上VARCHAR数据的物理存储类似于UTF-8,每个拉丁字符占一个字节,但其他字符占多个字节。用户没有看到此编码,其唯一重要性是用于长VARCHAR数据的磁盘空间量。