当前位置:网站首页>第六章 数据类型(五)
第六章 数据类型(五)
2022-06-12 11:43:00 【yaoxin521123】
第六章 数据类型(五)
数据类型的整数代码
在查询元数据和其他上下文中,为列定义的数据类型可以作为整数代码返回。 CType(客户端数据类型)整数代码列在 %SQL.StatementColumnclientType 属性中。
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 在 SystemDataTypes 或 UserDataTypes 中找不到 %String 或 %String(MAXLEN=%1) 或 %String(MAXLEN=45) 的映射,则传递 %String 和 %String(MAXLEN=45) 类型直接到适当的类定义。
转换数据类型
要将数据从一种数据类型转换为另一种数据类型,请使用 CAST 或 CONVERT 函数。
CAST 支持转换为多种字符串和数字数据类型,以及 DATE、TIME 以及 TIMESTAMP 和 POSIXTIME 时间戳数据类型。
CONVERT 有两种语法形式。两种形式都支持与 DATE、TIME 以及 TIMESTAMP 和 POSIXTIME 时间戳数据类型之间的转换,以及其他数据类型之间的转换。
VARCHAR 的 CAST 和 CONVERT 处理
VARCHAR 数据类型(没有指定大小)映射到 1 个字符的 MAXLEN,如上表所示。但是,当 CAST 或 CONVERT 将值转换为 VARCHAR 时,默认大小映射为 30 个字符。提供此 30 个字符的默认大小是为了与非 IRIS 软件要求兼容。
边栏推荐
- 进程的创建和回收
- 35. 搜索插入位置
- Promise controls the number of concurrent requests
- 判断网络文件是否存在,获取网络文件大小,创建时间、修改时间
- 【QNX Hypervisor 2.2 用户手册】4.1 构建QNX Hypervisor系统的方法
- C# 36. DataGridView line number
- Who moved my package lock
- Unity connect to Microsoft SQLSERVER database
- Windows10安装mysql-8.0.28-winx64
- Selenium uses proxy IP
猜你喜欢

Les humains veulent de l'argent, du pouvoir, de la beauté, de l'immortalité, du bonheur... Mais les tortues ne veulent être qu'une tortue.

TinyMCE series (I) TinyMCE environment construction
![[Blue Bridge Cup SCM 11th National race]](/img/da/3c8a9efd5b28f67816f239531a0339.png)
[Blue Bridge Cup SCM 11th National race]

Compiling Draco library on Windows platform

Video JS library uses custom components

K58. Chapter 1 installing kubernetes V1.23 based on kubeadm -- cluster deployment

6.6 分离卷积

Socket Programming TCP

PIP install in the CONDA environment cannot be installed into the specified CONDA environment (the default PIP installation location of the CONDA environment)

十折交叉验证代码中的问题
随机推荐
Lambda and filter, index of list and numpy array, as well as various distance metrics, concatenated array and distinction between axis=0 and axis=1
[the 11th national competition of Blue Bridge Cup single chip microcomputer]
Deep learning and CV tutorial (14) | image segmentation (FCN, segnet, u-net, pspnet, deeplab, refinenet)
Summary of rosbridge use cases_ Chapter 26 opening multiple rosbridge service listening ports on the same server
【数据库】sqlite版本升级、降级
35. 搜索插入位置
6.6 separate convolution
为什么新品发布上架之后会没有流量,新品应该怎么发布?
[cf1392d] D. Omkar and bed Wars
Postman incoming list
UML series articles (31) architecture modeling - deployment diagram
判断网络文件是否存在,获取网络文件大小,创建时间、修改时间
人类想要拥有金钱、权力、美丽、永生、幸福……但海龟只想做一只海龟
Unit test case framework --unittest
conda环境下pip install 无法安装到指定conda环境中(conda环境的默认pip安装位置)
Design of tablewithpage
进程的创建和回收
Reentrantlock source code analysis
視頻分類的類間和類內關系——正則化
QT based travel query and simulation system