Firebird的基本数据类型

 

由于排版关系,取幂将用[],比如10[5],表示10的5次方。
INTEGER:长整型,取值范围:-2147483648至2147483647
FLOAT:单精度浮点型,取值范围:1.175*10[-38]至3.402*10[38]
DOUBLE PRECISION:双精度浮点型,取值范围:2.225*10[-308]至1.797*10[308]
DECIMAL:小数型,可指定有效位数最大为18位或小数点后18位。比如DECIMAL(5,2),就是指有5位数字,不含小数点,形如123.45
NUMERIC:小数型,与DECIMAL类似,稍后讲它们的区别。
注意,当数据含小数部分时,请尽量用DECIMAL,因为浮点型有精度问题,除非数值特别大,才用浮点型!
DECIMAL与NUMERIC的区别:
比如,DECIMAL(5,2)与NUMERIC(5,2)所分别定义的字段,DECIMAL(5,2)指的是至少有5位数字,还可以更多!而NUMERIC(5,2)指的是,就是5位,不多也不少。

SMALLINT:短整型,取值范围:-32768至32767,数值确定比较小时,可以使用,可以节省磁盘空间与提升效率
CHAR:字符型,最多32767个字符,注意,使用CHAR类型,即使字符数没有达到指定字段的宽度,也会用空字符补满!取值时,请注意用TRIM()等函数去掉多余空字符。除非确定每条记录的字符数不变,否则请用VARCHAR类型。
VARCHAR:可变长度字符型,最多32767个字符,存储时,会根据内容长度自动改变存储位数,不会产生多余空字符。当字符数超过32767时,请用BLOB型。
TIME:时间型,取值范围:00:00至23:59.9999
TIMESTAMP:日期时间型,取值范围:公元100年1月1日至公元32768年2月29日,同时包含日期与时间信息。
DATE:日期型,取值范围:公元100年1月1日至公元32768年2月29日。,注意,建库时需选择DIALECT 3级别才支持DATE型,否则就是TIMESTAMP型。
BLOB:大二进制型,可支持Text(文本)、Binary Data(二进制型,比如图片,声音等)等子类型。取值范围:64KB以内。
 
下边这条错了!!!!
BOOLEAN:逻辑型,Firebird 2.0引入的新类型。取值范围:TRUE(值)或FALSE(假)。使用BOOLEAN而不用SMALLINT的理由是可以用更少的位数来存储,而且与SQL标准兼容,但是,数据将与1.5版本不兼容。
 
 偶尔看见Interbase6文档里的Data Definition Guide的Character Sets and
CollationOrders那一章Character set storage requirements那一节下的一段话:
InterBase restricts the maximum amount of storage in each field of a CHAR column to
32,767 bytes. VARCHAR columns are restricted to 32,765 bytes.
Interbase 6 的VARCHAR所能容纳的最多字符要比CHAR少两个(这两个字节难道是用来存放字符串长度的?)

 虽然 ib7支持boolean类型,但由于为了兼容ib6,我还是使用char来存放“是”“否”来判断,使用二个小函数,可以方便使用:
function TForm1.IfThen(Avalue: Boolean; const ATrue,
 AFalse: string): string; //根据boolean返回字符串
begin
 if Avaluethen
  Result := ATrue
 else
  Result := AFalse;
end;

function TForm1.IfThen_boolean(Avalue: string): boolean;//根据字符返回boolean
begin
 if trimright(Avalue)= ‘是‘ then
  result:= true
  else
   result:= false;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值