Delphi与各数据库数据类型比较
Delphi数据类型与各数据库数据类型对比如下表,如有具体说明见表中脚注:
|
Delphi Type |
Oracle Types |
SQL Server Types |
MySQL Types [1] |
InterBase Types |
PostgreSQL Types |
SQLite Types |
|
ftSmallint |
NUMBER(p, 0)[2] |
SMALLINT |
TINYINT(M) (M > 1) |
SMALLINT |
SMALLINT |
TINYINT |
|
ftWord |
- |
TINYINT |
TINYINT(M) UNSIGNED (M > 1) |
- |
- |
- |
|
ftInteger |
NUMBER(p, 0)[2] |
INT |
MEDIUMINT |
INTEGER |
INTEGER |
INTEGER |
|
ftLargeint |
NUMBER(p, 0)[2] |
BIGINT |
BIT |
BIGINT |
BIGINT |
BIGINT |
|
ftFloat |
NUMBER(p, s)[2] |
DECIMAL(p, s)[3] |
DECIMAL(p, s)[3] |
NUMBER(p, s)[3] |
DECIMAL[3] |
DECIMAL(p, s)[3] |
|
ftBCD |
NUMBER(p, s)[2] |
DECIMAL(p, s)[3] |
DECIMAL(p, s)[3] |
DECIMAL(p, s)[3] |
DECIMAL[3] |
DECIMAL[3] |
|
ftFMTBcd |
NUMBER(p, s)[2] |
DECIMAL(p, s) |
DECIMAL(p, s)[3] |
DECIMAL(p, s)[3] |
DECIMAL[3] |
DECIMAL[3] |
|
ftCurrency |
- |
MONEY |
- |
- |
MONEY |
MONEY |
|
ftBoolean |
- |
BIT |
BOOLEAN |
BOOLEAN |
BOOLEAN |
|
|
ftString |
VARCHAR2 |
CHAR |
CHAR |
CHAR |
CHAR |
|
|
ftWideString |
NCHAR |
|||||
|
ftMemo |
LONG |
TEXT |
TINYTEXT |
BLOB TEXT |
TEXT |
TEXT |
|
ftWideMemo |
NTEXT[11] |
|||||
|
ftOraClob |
CLOB |
- |
- |
- |
- |
- |
|
ftBlob |
LONG RAW |
IMAGE |
TINYBLOB |
BLOB BINARY |
BYTEA |
BLOB |
|
ftOraBlob |
BLOB |
- |
- |
- |
LARGE OBJECT |
- |
|
ftBytes |
- |
BINARY |
BINARY |
- |
- |
- |
|
ftVarBytes |
RAW |
VARBINARY |
VARBINARY |
CHAR |
- |
BINARY |
|
ftDate |
- |
- |
DATE |
DATE |
DATE |
DATE |
|
ftDateTime |
DATE |
DATE |
DATETIME |
TIMESTAMP |
TIMESTAMP |
TIMESTAMP |
|
ftTime |
- |
- |
TIME |
TIME |
TIME |
TIME |
|
ftTimeStamp |
TIMESTAMP |
- |
- |
- |
- |
- |
|
ftCursor |
REF CURSOR |
- |
- |
- |
REFCURSOR |
- |
|
ftGuid |
- |
UNIQUEIDENTIFIER |
- |
- |
- |
- |
|
ftVariant |
- |
SQL_VARIANT |
- |
- |
- |
- |
|
NOT SUPPORTED |
BFILE |
CURSOR |
- |
- |
- |
- |
[1] – 如果FieldsAsString 选项被设置 True,则除BLOB和TEXT数据类型外,全部做为ftString来处理
[2] – Oracle NUMBER数据类型与Delphi数据类型对应方式:
if scale equals zero, provider checks values of the specific options to choose the correct Delphi type in the following order:
1.1 field precision is less or equal Precision Smallint (default is 4) - uses ftSmallint;
1.2 field precision is less or equal Precision Integer (default is 9) - uses ftInteger;
1.3 field precision is less or equal Precision LargeInt (default is 18) - uses ftLargeint;
if scale is greater than zero, the appropriate Delphi type is chosen using the following sequence of rules:.
2.1 field precision is less or equal PrecisionFloat (default is 0) - uses ftFloat;
2.2 EnableBCD is True and field precision, scale is less or equal PrecisionBCD (default is 14,4) - uses ftBCD;
2.3 EnableFMTBCD is True and field precision, scale is less or equal PrecisionFMTBCD (default is 38,38) - uses ftFMTBCD;
2.4 uses ftFloat.
[3] - The appropriate Delphi type is chosen using the following sequence of rules:
EnableBCD is True and field precision, scale is less or equal 14,4 - uses ftBCD;
EnableFMTBCD is True - uses ftFMTBCD;
uses ftFloat.
[4] - If the EnableBoolean option is True
[5] - If the RawAsString option is True
[6] - If the BinaryAsString is True
[7] - If the UseUnicode option is True, all server types mapped to ftString will be mapped to ftWideString.
[8] - If the LongStrings option is False, and the field length is greater than 255, all server types mapped to ftString will be mapped to ftMemo.
[9] - For all Delphi versions prior to BDS 2006.
[10] - If the UseUnicode option is True, in BDS 2006 and later versions all server types mapped to ftMemo will be mapped to ftWideMemo.
[11] - For BDS 2006 and higher IDE versions.
Delphi与各数据库数据类型比较的更多相关文章
- MySQL数据库数据类型之集合类型SET测试总结
MySQL数据库提供针对字符串存储的一种特殊数据类型:集合类型SET,这种数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧,前面介绍了首先介绍了四种数据类型的特性总结,其后又分别 ...
- java 数据类型与数据库 数据类型的对应关系
java 数据类型与数据库 数据类型的对应关系 CreationTime--2018年7月1日10点08分 Author:Marydon 相关推荐: java 读取clob
- [JNA系列]Java调用Delphi编写的Dll之Delphi与JAVA基本数据类型对比
Delphi与JAVA基本数据类型对比 类型 Delphi关键字 JAVA关键字 字节 备注 范围 整型 Shortint byte 1 有符号8位 -128..127 Byte 1 无符号8位 0 ...
- MYSQL数据库数据类型
07.14自我总结 MYSQL数据库数据类型 一.整数类型和浮点数典型 1.有符号/没符号 对于整数和负整数来说,默认情况下是有符号范围的 默认是有符号 有符号和没符号其实就是有没有包括负数,有符号是 ...
- Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限
Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限, "无法打开 PARADOX.NET.这个文件可以随便删除的,下次会自动产生. Permission ...
- sql server 2008 数据库数据类型
sql server 2008 数据库数据类型 一.数值型 int:整数类型,它的精度由执行机构确定.. smallint:短整数类型,它的精度由执行机构确定.. numeric(p,s):数值型,并 ...
- delphi基础篇之数据类型概论
delphi基础篇之数据类型概论 Object Pascal 语言提供了非常丰富的数据类型,即简单类型(Simple).字符串类型(String).结构类型(Struct).指针类型(Pointer) ...
- delphi的万能数据库操作
好多人都抱怨delphi没有提供一个可以把任意数据放入数据库的控件,虽然说用代码实现也不难,但是有控件会更方便,这次我终于还是抽出空来做了这么个控件,以后就可以直接拖放了.它支持把任意数据类型写入数据 ...
- MySQL(二) 数据库数据类型详解
序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过 ...
随机推荐
- Jmeter(十七)Logic Controllers 之 Interleave Controller
Interleave Controller----交错控制器,对于交错控制器官方文档解释的很清楚,上例子: 可以看到运行一次 Interleave Controller下的Sampler,运行一次 I ...
- android判断adb调试是否打开及代码跳转到开发者选项界面
boolean enableAdb = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0) &g ...
- FIN omitted, FIN-ACK sent
STACKOVER ADDRESS:https://stackoverflow.com/questions/21390479/fin-omitted-fin-ack-sent question: As ...
- front-end architecture
这些东西都需要管理,并且提供一种比较好的方案去维护.在JavaScript被模块化之后,也可以通过单元测试来控制它们的质量,并且把这个过程自动化,每次版本有变更之前,保证它们最基本的正确性.最终,需要 ...
- js数组冒泡
var arr 1= [1, 2, 3, 4, 5]; 最简单的 每组数字之间用逗号隔开 第一个数的索引值为0.数字为1 以此类推 中括号的内容是存var arr2 = Array(1, 2, 3); ...
- CVPR 2019 | 用异构卷积训练深度CNN:提升效率而不损准确度
对于深度卷积神经网络而言,准确度和计算成本往往难以得兼,研究界也一直在探索通过模型压缩或设计新型高效架构来解决这一问题.印度理工学院坎普尔分校的一篇 CVPR 论文则给出了一个新的思路——使用异构的卷 ...
- SQL with(unlock)与with(readpast)
所有Select加 With (NoLock)解决阻塞死锁,在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS ...
- css的优化规则
1.避免过度约束: // 不推荐 ul.nav{..} // 推荐 .nav{..} 2.避免过长的后代选择符: // 不推荐 html div tr td {..} 3.避免链式(交集)选择符: ...
- JVM总结-垃圾回收
Java 虚拟机的自动内存管理,将原本需要由开发人员手动回收的内存,交给垃圾回收器来自动回收.不过既然是自动机制,肯定没法做到像手动回收那般精准高效 [1] ,而且还会带来不少与垃圾回收实现相关的问题 ...
- netfilter/iptables
参考:tcp/ip协议 1.Linux框架概念 1.1.工作流程图 1.2.功能: ①过滤(filter) ②修改源ip.目标ip(nat) ③拆解报文.修改报文标记.重新封装(mangle) ④关闭 ...