美文网首页
第六章 数据类型(五)

第六章 数据类型(五)

作者: Cache技术分享 | 来源:发表于2022-06-12 10:33 被阅读0次

第六章 数据类型(五)

数据类型的整数代码

在查询元数据和其他上下文中,为列定义的数据类型可以作为整数代码返回。 CType(客户端数据类型)整数代码列在 %SQL.StatementColumn clientType 属性中。

ODBC 和 JDBC 使用 xDBC 数据类型代码 (SQLType)。 ODBC 数据类型代码由 %SQL.Statement.%Metadata.columns.GetAt() 方法返回,如上例所示。 SQL Shell 元数据还返回 ODBC 数据类型代码。 JDBC 代码与 ODBC 代码相同,除了时间和日期数据类型的表示。下面列出了这些 ODBC 和 JDBC 值:

ODBC JDBC Data Type
-11 -11 GUID
-7 -7 BIT
-6 -6 TINYINT
-5 -5 BIGINT
-4 -4 LONGVARBINARY
-3 -3 VARBINARY
-2 -2 BINARY
-1 -1 LONGVARCHAR
0 0 Unknown type
1 1 CHAR
2 2 NUMERIC
3 3 DECIMAL
4 4 INTEGER
5 5 SMALLINT
6 6 FLOAT
7 7 REAL
8 8 DOUBLE
9 91 DATE
10 92 TIME
11 93 TIMESTAMP
12 12 VARCHAR

IRIS 还支持使用多字节字符集的 ODBC 应用程序的 Unicode SQL 类型,例如中文、希伯来语、日语或韩语语言环境。

ODBC Data Type
-10 WLONGVARCHAR
-9 WVARCHAR

创建用户定义的 DDL 数据类型

可以通过覆盖系统数据类型参数值的数据类型映射或定义新的用户数据类型来修改数据类型集。可以修改系统数据类型以覆盖 默认映射。可以创建用户定义的数据类型以提供 不提供的其他数据类型映射。

要查看和修改或添加到当前用户数据类型映射,请转到管理门户,选择系统管理、配置、SQL 和对象设置、用户 DDL 映射。要添加用户数据类型,请选择创建新的用户定义的 DDL 映射。在显示的框中,输入名称,例如 VARCHAR(100) 和数据类型,例如 MyString100(MAXLEN=100)

结果将是用户定义的 DDL 数据类型列表中的一个条目。

可以将用户定义的数据类型创建为数据类型类。例如,可能希望创建一个最多占用 10 个字符的字符串数据类型,然后截断其余的输入数据。将创建此数据类型 Sample.TruncStr,如下所示:

Class Sample.TruncStr Extends %Library.String
  {
  Parameter MAXLEN=10;
  Parameter TRUNCATE=1;
  }

要在表定义中使用此数据类型,只需指定数据类型类名称:

CREATE TABLE Sample.ShortNames (Name Sample.TruncStr)

如前面的示例所示,有几个有用的例程可用于输入用户定义的 DDL 数据类型:

  • maxval^%apiSQL() — 给定精度和比例,返回每个 IRIS 数字数据类型的最大有效值 (MAXVAL)。语法是:
     maxval^%apiSQL(precision,scale)
  • minval^%apiSQL() — 给定精度和比例,返回每个 IRIS 数字数据类型的最小有效值 (MINVAL)。语法是:
     minval^%apiSQL(precision,scale)

如果需要将 DDL 数据类型映射到集合类型为 Stream 的 IRIS 属性,请为字符流数据指定 %Stream.GlobalCharacter,为二进制流数据指定 %Stream.GlobalBinary

如果找不到DDL映射,则传递

如果 DDL 遇到不在 SystemDataTypes 表的 DDL 数据类型列中的数据类型,它接下来会检查 UserDataTypes 表。如果任一表中的数据类型都没有出现映射,则不会发生数据类型的转换,并且数据类型会直接传递给 DDL 中指定的类定义。

例如,以下字段定义可能出现在 DDL 语句中:

     CREATE TABLE TestTable (
          Field1 %String,
          Field2 %String(MAXLEN=45)
          )

鉴于上述定义,如果 DDL 在 SystemDataTypesUserDataTypes 中找不到 %String%String(MAXLEN=%1)%String(MAXLEN=45) 的映射,则传递 %String%String(MAXLEN=45) 类型直接到适当的类定义。

转换数据类型

要将数据从一种数据类型转换为另一种数据类型,请使用 CAST 或 CONVERT 函数。

CAST 支持转换为多种字符串和数字数据类型,以及 DATETIME 以及 TIMESTAMPPOSIXTIME 时间戳数据类型。

CONVERT 有两种语法形式。两种形式都支持与 DATETIME 以及 TIMESTAMPPOSIXTIME 时间戳数据类型之间的转换,以及其他数据类型之间的转换。

VARCHAR 的 CAST 和 CONVERT 处理

VARCHAR 数据类型(没有指定大小)映射到 1 个字符的 MAXLEN,如上表所示。但是,当 CASTCONVERT 将值转换为 VARCHAR 时,默认大小映射为 30 个字符。提供此 30 个字符的默认大小是为了与非 IRIS 软件要求兼容。

相关文章

  • 第六章 数据类型(五)

    第六章 数据类型(五) 数据类型的整数代码 在查询元数据和其他上下文中,为列定义的数据类型可以作为整数代码返回。 ...

  • 02.`redis`的常用数据类型以及操作

    1. 数据类型 redis官网 数据类型redis 常用的数据类型是五种,但是它支持的数据类型不止五种,如图所示r...

  • 《记忆错觉》DAY3

    【摘录】 第五章p96 第五章p110 第六章p117 第六章p119 第六章123 第六章p126 【感想】 发...

  • 2018-02-05

    数据类型 五种简单数据类型(基本数据类型):undefined、null、boolean、string、numbe...

  • Java基础之常量、数据类型及运算

    概括: 一、数据类型分为:基本数据类型和引用型数据类型 二、基本数据类型 三、引用数据类型 四、常量 五、整型运算...

  • javascript修炼之路(三)------数据类型与内存

    一、数据类型分类 javascript中的数据类型分为基本数据类型和引用数据类型。 基本数据类型有五种类型:Num...

  • Python学习笔记(六)

    第六章 组合数据类型 组合数据类型概述 计算机不仅对单个变量表示的数据进行处理,更多情况,计算机需要对一组数据进行...

  • 《JavaScript 权威指南(第六版)》四——对象

    第六章:对象 2017.02.24 对象 对象是JavaScript的基本数据类型。对象是一种复合值。对象可以看做...

  • Objective-C 基本教程

    第一章 程序整体语法结构 第二章 数据类型 第三章 字符串 第四章 内存管理 第五章 对象的初始化 第六章 存取...

  • JS基础知识总结

    JS基础知识总结() 一、数据类型 五种基础数据类型,一种复杂数据类型 1、基础数据类型 又叫原始数据类型或者不可...

网友评论

      本文标题:第六章 数据类型(五)

      本文链接:https://www.haomeiwen.com/subject/gpsgmrtx.html