您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

显式数据转换

在使用 INSERT 语句从数据库(而非平面文件)直接插入数据时,不能使用装载转换选项。

如果数据需要进行显式转换,使用 CONVERSION_MODE 选项 2 以允许所有显式转换作为隐式转换。如果不使用 CONVERSION_MODE 选项 2,您必须在用来指定要插入数据的 SELECT 语句或 VALUES 列表中使用转换函数 CAST 或 CONVERT。如果数据已隐式转换,SAP IQ 会自动处理转换。

当需要对 SELECT 语句中的数据类型进行匹配时,需要进行隐式或显式转换,但并未进行转换。在通过执行 INSERT SELECT 将一种数据类型转换为另一种数据类型时,以及比较或计算不同数据类型的值时,会发生这种情况。

这些转换适用于 SAP IQ 数据库中的数据、来自 SAP SQL Anywhere 数据库中的数据或者以 Specialty Data Store 形式连接的任何其它数据库中的数据。

SELECT 语句中没有 WHERE 子句时,或者当 WHERE 子句基于比较运算(=、> 或 <)时的转换(隐式 (I)、显式 (E) 和不受支持 (U) 的转换)包括以下内容:

更改为:从:tisiinuibiubnurldlbtdttmtschvcbnvbtinyintIIIIIIIIIIEEEEEIIsmallintIIIIIIIIIIEEEEEIIintIIIIIIIIIIEEEEEIIunsigned intIIIIIIIIIIEEEEEIIbigintIIIIIIIIIIEEEEEIIunsigned bigintIIIIIIIIIIEEEEEIInumericIIIIIIIIIIEEEEEUUrealIIIIIIIIIIEEEEEUUdoubleIIIIIIIIIIEEEEEUUbitIIIIIIIIIIUUUIIIIdateEEEEEEEEEUIUIEEUUtimeEEEEEEEEEUUIEEEUUtime-stampEEEEEEEEEUEIIEEUUcharEEEEEEEEEIEEEIIIIvarcharEEEEEEEEEIEEEIIIIbinaryIIIIIIUUUUUUUIIIIvarbinaryIIIIIIUUUUUUUIIII 

表中所用代码的说明如下:

代码数据类型代码数据类型代码数据类型titinyintnunumerictstimestampsismallintrlrealchcharinintdldoublevcvarcharuiunsigned intbtbitbnbinarybibigintdtdatevbvarbinaryubunsigned biginttmtime 

SELECT 语句的 WHERE 子句基于算术运算(+、– 等)时的转换包括:

更改为:从:tisiinuibiubnurldlbtdttmtschvcbnvbtinyintIIIIIIIIIIUUUEEIIsmallintIIIIIIIIIIUUUEEIIintIIIIIIIIIIUUUEEIIunsigned intIIIIIIIIIIUUUEEIIbigintIIIIIIIIIIUUUEEIIunsigned bigintIIIIIIIIIIUUUEEIInumericIIIIIIIIIIUUUEEUUrealIIIIIIIIIIUUUEEUUdoubleIIIIIIIIIIUUUEEUUbitIIIIIIIIIIUUUIIIIdateUUUUUUUUUUUIUUUUUtimeUUUUUUUUUUIUUUUUUtimestampUUUUUUUUUUUUUUUUUcharEEEEEEEEEIUUUIIIIvarcharEEEEEEEEEIUUUIIIIbinaryIIIIIIUUUUUUUIIIIvarbinaryIIIIIIUUUUUUUIIII  注意 在算术运算中,bit 数据会隐式转换为 tinyint。

INSERTUPDATE 语句的转换包括:

更改为:从:tisiinuibiubnurldlbtdttmtschvcbnvbtinyintIIIIIIIIIIEEEEEIIsmallintIIIIIIIIIIEEEEEIIintIIIIIIIIIIEEEEEIIunsigned intIIIIIIIIIIEEEEEIIbigintIIIIIIIIIIEEEEEIIunsigned bigintIIIIIIIIIIEEEEEIInumericIIIIIIIIIEEEEEEUUrealIIIIIIIIIIEEEEEUUdoubleIIIIIIIIIIEEEEEUUbitIIIIIIIIIIUUUIIIIdateEEEEEEEEEEIUIEEUUtimeEEEEEEEEEEUIEEEUUtime-stampEEEEEEEEEEEIIEEUUcharIIIIIIIIIIEEEIIIIvarcharIIIIIIIIIIEEEIIIIbinaryIIIIIIUUUIUUUIIIIvarbinaryIIIIIIUUUIUUUIIII 