Delphi与各数据库数据类型比较

摘要:
Delphi数据类型与各数据库数据类型对比如下表,如有具体说明见表中脚注:DelphiTypeOracleTypesSQLServerTypesMySQLTypes[1]InterBaseTypesPostgreSQLTypesSQLiteTypesftSmallintNUMBER(p,0)[2](p1)SMALLINTSMALLINTSMALLIN

Delphi数据类型与各数据库数据类型对比如下表,如有具体说明见表中脚注:

DelphiType

OracleTypes

SQLServerTypes

MySQLTypes[1]

InterBaseTypes

PostgreSQLTypes

SQLiteTypes

ftSmallint

NUMBER(p,0)[2]
(p<5)

SMALLINT

TINYINT(M)(M>1)
SMALLINT

SMALLINT

SMALLINT

TINYINT
SMALLINT

ftWord

-

TINYINT

TINYINT(M)UNSIGNED(M>1)
SMALLINTUNSIGNED
YEAR

-

-

-

ftInteger

NUMBER(p,0)[2]
(4<p<10)

INT

MEDIUMINT
MEDIUMINTUNSIGNED
INT

INTEGER

INTEGER

INTEGER
INT

ftLargeint

NUMBER(p,0)[2]
(9<p<19)

BIGINT

BIT
INTUNSIGNED
BIGINT
BIGINTUNSIGNED

BIGINT

BIGINT

BIGINT

ftFloat

NUMBER(p,s)[2]
BINARYFLOAT(FLOAT)
BINARYDOUBLE

DECIMAL(p,s)[3]
FLOAT
REAL

DECIMAL(p,s)[3]
FLOAT
DOUBLE

NUMBER(p,s)[3]
FLOAT
DOUBLEPRECISION

DECIMAL[3]
REAL
DOUBLEPRECISION

DECIMAL(p,s)[3]
FLOAT
DOUBLEPRECISION

ftBCD

NUMBER(p,s)[2]
(p<15)and(s<5)

DECIMAL(p,s)[3]
(p<15)and(s<5)

DECIMAL(p,s)[3]
(p<15)and(s<5)

DECIMAL(p,s)[3]
(p<15)and(s<5)

DECIMAL[3]

DECIMAL[3]

ftFMTBcd

NUMBER(p,s)[2]
(14<p<39)and>
(4<s<39)

DECIMAL(p,s)
(14<p<39)and
(4<s<39)

DECIMAL(p,s)[3]
(14<p<39)and
(4<s<39)

DECIMAL(p,s)[3]
(14<p<19)and
(4<s<19)

DECIMAL[3]

DECIMAL[3]

ftCurrency

-

MONEY
SMALLMONEY

-

-

MONEY

MONEY

ftBoolean

-

BIT

TINYINT[4]
BOOL[4]
BOOLEAN[4]

BOOLEAN

BOOLEAN

BOOLEAN

ftString

VARCHAR2
NVARCHAR2
VARCHAR
CHAR
NCHAR
RAW[5]
INTERVALDAYTOSECOND
INTERVALDAYTOMONTH
ROWID
UROWID

CHAR
VARCHAR

CHAR
VARCHAR
ENUM
SET
BINARY[6]
VARBINARY[6]

CHAR
VARCHAR

CHAR
VARCHAR

CHAR
VARCHAR

ftWideString

Seenote[7]

NCHAR
NVARCHAR

Seenote[7]

Seenote[7]

Seenote[7]

Seenote[7]

ftMemo

LONG
Alsoseenote[8]

TEXT
NTEXT[9]

TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT

BLOBTEXT

TEXT

TEXT
CLOB

ftWideMemo

Seenote[10]

NTEXT[11]

Seenote[10]

Seenote[10]

Seenote[10]

Seenote[10]

ftOraClob

CLOB
NCLOB

-

-

-

-

-

ftBlob

LONGRAW

IMAGE

TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
SpatialDataTypes

BLOBBINARY

BYTEA

BLOB

ftOraBlob

BLOB

-

-

-

LARGEOBJECT

-

ftBytes

-

BINARY
TIMESTAMP

BINARY

-

-

-

ftVarBytes

RAW

VARBINARY

VARBINARY

CHAR
VARCHAR
(CHARSET=OCTETS)

-

BINARY
VARBINARY

ftDate

-

-

DATE

DATE

DATE

DATE

ftDateTime

DATE

DATE

DATETIME

TIMESTAMP

TIMESTAMP

TIMESTAMP
DATETIME

ftTime

-

-

TIME

TIME

TIME

TIME

ftTimeStamp

TIMESTAMP
TIMESTAMPWITHTIMEZONE

-

-

-

-

-

ftCursor

REFCURSOR

-

-

-

REFCURSOR

-

ftGuid

-

UNIQUEIDENTIFIER

-

-

-

-

ftVariant

-

SQL_VARIANT

-

-

-

-

NOTSUPPORTED

BFILE
OBJECT
XML

CURSOR
XML
TABLE

-

-

-

-

[1]–如果FieldsAsString选项被设置True,则除BLOB和TEXT数据类型外,全部做为ftString来处理

[2]–OracleNUMBER数据类型与Delphi数据类型对应方式:

ifscaleequalszero,providerchecksvaluesofthespecificoptionstochoosethecorrectDelphitypeinthefollowingorder:

1.1fieldprecisionislessorequalPrecisionSmallint(defaultis4)-usesftSmallint;
1.2fieldprecisionislessorequalPrecisionInteger(defaultis9)-usesftInteger;
1.3fieldprecisionislessorequalPrecisionLargeInt(defaultis18)-usesftLargeint;

ifscaleisgreaterthanzero,theappropriateDelphitypeischosenusingthefollowingsequenceofrules:.

2.1fieldprecisionislessorequalPrecisionFloat(defaultis0)-usesftFloat;
2.2EnableBCDisTrueandfieldprecision,scaleislessorequalPrecisionBCD(defaultis14,4)-usesftBCD;
2.3EnableFMTBCDisTrueandfieldprecision,scaleislessorequalPrecisionFMTBCD(defaultis38,38)-usesftFMTBCD;
2.4usesftFloat.

[3]-TheappropriateDelphitypeischosenusingthefollowingsequenceofrules:

EnableBCDisTrueandfieldprecision,scaleislessorequal14,4-usesftBCD;

EnableFMTBCDisTrue-usesftFMTBCD;

usesftFloat.

[4]-IftheEnableBooleanoptionisTrue

[5]-IftheRawAsStringoptionisTrue

[6]-IftheBinaryAsStringisTrue

[7]-IftheUseUnicodeoptionisTrue,allservertypesmappedtoftStringwillbemappedtoftWideString.

[8]-IftheLongStringsoptionisFalse,andthefieldlengthisgreaterthan255,allservertypesmappedtoftStringwillbemappedtoftMemo.

[9]-ForallDelphiversionspriortoBDS2006.

[10]-IftheUseUnicodeoptionisTrue,inBDS2006andlaterversionsallservertypesmappedtoftMemowillbemappedtoftWideMemo.

[11]-ForBDS2006andhigherIDEversions.

免责声明:文章转载自《Delphi与各数据库数据类型比较》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇电脑风扇轴承介绍Oracle审计表AUD$处理方法 (Z)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DorisSQL与MySQL函数对照 差异篇

## 1.日期函数### 时区.```mysql -> convert_tz(dt,from_tz,to_tz)doris -> CONVERT_TZ(DATETIME dt, VARCHAR from_tz, VARCHAR to_tz)```### 获取当前的日期,以DATE类型返回.```mysql -> CURDATE()dori...

Delphi指针的用法

DELPHI指针的使用 大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的Object Pascal,可以说在指针运用...

七、企业级的redis数据备份和各种灾难下的数据恢复,是怎么做得呢?

1、企业级的持久化的配置策略 在企业中,RDB的生成策略,用默认的也差不多 save 60 10000:如果你希望尽可能确保说,RDB最多丢1分钟的数据,那么尽量就是每隔1分钟都生成一个快照,低峰期,数据量很少,也没必要 10000->生成RDB,1000->RDB,这个根据你自己的应用和业务的数据量,你自己去决定 AOF一定要打开,fsync...

DOS 如何取当前时间做为文件名?

如果要取得以日期为文件名的文件,假设在命令行下键入date返回形式为:当前日期: 2005-06-02 星期四echo > %date:~0,4%%date:~5,2%%date:~8,2%~表示从环境变量的内容的左边开始,~m,n      m表示从第m个字符开始,n表示取n个字符。 下面以一个表格示例下,可能更容易懂: 日期和时间组合:%dat...

win10 优化批处理

@ECHO off ECHO 关闭自动修复 bcdedit /set recoveryenabled NO echo 完成 ECHO 关闭Windows Defender reg add "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows Defender" /v "DisableAntiSpywar...

mybatis批量新增报错 BadSqlGrammarException

org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL synta...