Collection Contents 上一页 下一页 PDF

ASA SQL 参考

SQL 数据类型

字符数据类型


功能 

存储字母、数字和符号的字符串。

说明 

Adaptive Server Anywhere 将 CHAR、VARCHAR 和 LONG VARCHAR 列全部视为同一类型。长度不超过 254 个字符的值存储为短字符串,并且前面有一个长度字节。任何长度超过 255 个字节的值都被视为长字符串。第 255 个字节之后的字符与包含长字符串值的行分开存储。

有几种函数(请参见 SQL 函数)将忽略任何字符串中第 255 个字符之后的部分。它们是 SOUNDEX、SIMILAR 和所有日期函数。另外,任何涉及长字符串到数字转换的算法只对前 255 个字符有效。碰到上述限制的可能性非常小。

所有其它函数和所有其它运算符都对长字符串的全部长度起作用。

字符集和代码页 

字符数据按照从应用程序传递而来的准确的二进制表示形式被放在数据库中。这通常意味着字符数据是以当前代码页的二进制表示形式存储在数据库中的。代码页是 IBM 兼容的个人计算机所使用的字符集表示形式。在操作系统的文档中可以找到有关代码页的文档。

对于前 128 个字符,大多数代码页都是相同的。如果您使用代码页的高位特殊字符(重音国际语言字符),则必须当心您的数据库。具体说来,如果您将数据库复制到使用另一种代码页的计算机上,则从数据库中检索的那些特殊字符将采用原来的代码页表示形式。对于新代码页,它们在屏幕上将显示为错误字符。

如果您有两个客户端,它们使用同一多用户服务器,但运行不同的代码页,也会出现此问题。一个客户端插入或更新的数据在另一个客户端看来可能是不正确的。

如果跨平台使用数据库,也会出现此问题。PowerBuilder 和许多其它的 Windows 应用程序以标准 ANSI 字符集的形式将数据插入到数据库中。如果非 Windows 应用程序试图使用这些数据,它们将不能正确地显示或更新扩展字符。

此问题十分复杂。如果您的某些应用程序使用代码页的高位扩展字符,请确保使用数据库的所有客户端和所有计算机都使用相同或兼容的代码页。

注意 

不允许小于 1 的数据类型长度。

兼容性 

CHAR 数据类型 [Character]
CHARACTER VARYING (VARCHAR) 数据类型 [Character]
LONG VARCHAR 数据类型 [Character]
TEXT 数据类型 [Character]
UNIQUEIDENTIFIERSTR 数据类型 [Character]
XML 数据类型 [Character]

Collection Contents 上一页 下一页 PDF