一、常用数据类型及与Oracle的对应关系
二、注意事项
1.大对象类型的注意事项
大对象容量
Oracle中的clob和blob最大可存储(232-1 bytes)*(database block size),SUNDB中的long varchar和long varbinary最大可存储100M,需要注意.
插入大对象
虽然long varchar、long varbinary可以存储100M,但是直接在insert语句中插入这类字段超过4000长度会报错,需要用cast 函数处理。
例1:在插入语句中,要向LONG VARCHAR类型字段中存储的字符串为'ABCD’,为了简化长字符串显示,这里假设每一个字符分别代表
一个2000长度的字符串,即A、'B、'℃”、"D'各表示一个2000长度的字符串,所以ABCD'字符串长度为8000,想要将这个字符串插入到表中,
需将其改写为下面格式:CAST(AB'AS LONG VARCAHR)ICASTCD' AS LONG VARCHAR)
例2:在插入语句中,要向LONG VARBINARY类型字段中存储的二进制字符串为UNHEX(ABCD’),假设同上,将其改写为下面形式:
UNHEX(CAST('AB' AS LONG VARBINARY)ICAST('CD' AS LONG VARBINARY))注:UNHEX()函数将16进制字符串转换为二进制字符串。
2.日期、时间类型的注意事项
时间戳精度TIMESTAMP
[(fractional seconds precision)]在Orace中和SUNDB中factional seconds precision默认值都是6,
但Orace中取值范围是0~9,SUNDB中取值范围是0-6,当应用从Oracle迁移到SUNDB时需注意Oracle中时间戳的秒精度。
格式化字符串默认格式化串由NLS DATE FORMAT、NLS TIMESTAMP FORMAT参数设置, SUNDB和Oracle中一样。
建议对时间戳类型进行DML操作时,尽量显示地指定格式化串,以增加应用地可移植性。
3.字符串长度计量单位注意事项
Oracle 通过NLS_LENGTH_SEMANTICS参数修改默认字符串长度单位,SUNDB建库时指定,建库后不能修改。
三、伪列
登录后发表回复
技术专家
文章
9阅读量
53获赞
7码筑匠心 2024-07-30
码筑匠心 2024-07-30
码筑匠心 2024-07-29
码筑匠心 2024-07-29
码筑匠心 2024-07-29