gbase8s字符数据类型:char、nchar、varchar

字符数据类型存储字符串值

  • 内置字符类型

        数据库服务器还可以使用 LVARCHAR 表示不透明数据类型的外部格式。在数据库服务器的 I/O 操作中,除文件大小限制、操作系统或硬件资源的限制之外,LVARCHAR 数据值的大小没有上限。

  • 字符类型声明中的逻辑字符语义

        GBase 8s支持配置参数 SQL_LOGICAL_CHAR,其设置可指示 SQL 解析器将 CREATE TABLE 或 ALTER TABLE 语句数据类型声明中字符列的最大大小解释为逻辑字符,而不是以字节为单位。
创建数据库之后,数据库服务器的当前 SQL_LOGICAL_CHAR 设置会记录在系统目录的 systables 表中。设置为 OFF 或 1 时,该功能对随后在数据库中创建或变更的表没有影响。
然而,在 SQL_LOGICAL_CHAR 设置为 ON 或为 2、3 或 4 之间的数字的数据库中,针对以下字符类型,SQL 解析器会将显式和隐式大小声明解释为 SPL 变量声明和数据库表中的列声明中的逻辑字符:
CHAR 和 CHARACTER
CHARACTER VARYING 和 VARCHAR
LVARCHAR
NCHAR
NVARCHAR
以上所列出数据类型的 DISTINCT 类型
那些 DISTINCT 类型的 DISTINCT 类型
以上所列出类型的 ROW 数据类型字段。
以上所列出类型的 LIST、MULTISET 和 SET 元素。

        此功能对之前表中列出的字符类型的最大存储大小限制没有影响。然而,对于使用多字节语言环境的数据库,可在将字符串插入到字符列或指定给字符变量时,降低数据截断的风险。
例如,如果数据库的 SQL_LOGICAL_CHAR 设置是 4,那么 VARCHAR(10, 5) 规范会解释为要求最大 40 个字节的存储,保留这些字节中的 5 个,在标准 SQL 表示法中创建 VARCHAR(40, 5) 数据类型,而不是声明中指定的规范。
由于多字节字符的最小大小是 1 个字节,因此 VARCHAR 和 NVARCHAR 数据类型的保留大小参数不受 SQL_LOGICAL_CHAR 设置影响。在此示例中,5 多字节字符的最小大小是 5 个字节,大小保持不变

  • 数据类型提升

对于 GBase 8s 的一些字符串操纵操作,上面列出的五个内置字符数据类型支持数据类型提升,以降低由于返回的字符串太大而无法存储在 NVARCHAR 或 VARCHAR 列或程序变量中,从而导致字符串操作失败的风险。请参阅 GBase 8t SQL 指南:语法 中的“从 CONCAT 和 String 操纵函数返回的类型”主题,以获取在 GBase 8t 字符类型之间进行数据类型提升的详细信息。

  • 本地语言支持

有时,NCHAR 和 NVARCHAR 类型称为本地语言支持数据类型,因为其支持本地化的整理。由于 VARCHAR 或 NVARCHAR 类型的列没有缺省大小,因此您必须在声明中指定大小(不大于 255)。对于定义索引的 VARCHAR 或 NVARCHAR 列,最大大小是 254 个字节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值