Go Up to SQL Statement and Function Reference
InterBase supports most SQL data types, a dynamically sizable data type called a Blob, and arrays of data types. It does not support arrays of Blobs. The following table lists the data types available to SQL statements in InterBase:
Data types supported by InterBase
Name
|
Size
|
Range/Precision
|
Description
|
BLOB
|
Variable
|
- None
- Blob segment size is limited to 64K.
|
- Dynamically sizable data type for storing large data such as graphics, text, and digitized voice.
- Basic structural unit is the segment.
- Blob subtype describes Blob contents.
|
BOOLEAN
|
16 bits
|
|
- Represents truth values
TRUE , FALSE , and UNKNOWN .
- Requires ODS 11 or higher, any dialect.
|
CHAR (<n>)
|
<n> characters
|
- 1 to 32,767 bytes
- Character set character size determines the maximum number of characters that can fit in 32K.
|
- Fixed length
CHAR or text string type
- Alternate keyword:
CHARACTER
|
DATE
|
32 bits, signed1
|
1 Jan 100 a.d. to 29 Feb 32768 a.d.
|
ISC_DATE; stores a date as a 32-bit longword.
|
DECIMAL (<precision>, <scale>)
|
Variable (16, 32, or 64 bits)
|
- <precision> = 1 to 18; specifies at least <precision> digits of precision to store.
- <scale> = 1 to 18; specifies number of decimal places for storage.
- Must be less than or equal to <precision>.
|
- Number with a decimal point <scale> digits from the right
- Example:
DECIMAL (10, 3) holds numbers accurately in the following format: ppppppp.sss
|
DOUBLE PRECISION
|
64 bits2
|
2.225 x 10–308 to 1.797 x 10308
|
IEEE double precision: 15 digits
|
FLOAT
|
32 bits
|
1.175 x 10–38 to 3.402 x 1038
|
IEEE single precision: 7 digits
|
INTEGER
|
32 bits
|
–2,147,483,648 to 2,147,483,647
|
Signed long (longword)
|
NUMERIC (<precision>, <scale>)
|
Variable
(16, 32, or 64 bits)
|
- <precision> = 1 to 18; specifies exactly <precision> digits of precision to store.
- <scale> = 1 to 18; specifies number of decimal places for storage.
- Must be less than or equal to <precision>.
|
- Number with a decimal point <scale> digits from the right
- Example:
NUMERIC (10,3) holds numbers accurately in the following format: ppppppp.sss
|
SMALLINT
|
16 bits
|
–32,768 to 32,767
|
Signed short (word)
|
TIME
|
32 bits, unsigned
|
0:00 AM to 23:59.9999 PM
|
ISC_TIME
|
TIMESTAMP
|
64 bits
|
1 Jan 100 a.d. to 29 Feb 32768 a.d.
|
Also includes time information.
|
VARCHAR (<n>)
|
<n> characters
|
- 1 to 32,765 bytes
- Character set character size determines the maximum number of characters that can fit in 32K.
|
- Variable length
CHAR or text string type
- Alternate keywords:
CHAR VARYING , CHARACTER VARYING
|
- InterBase version 5 had a DATE data type that was 64 bits long and included both the date and time. InterBase version 6 and later recognizes that type if you have specified dialect 1; in dialect 3, that type is called TIMESTAMP.
- Actual size of DOUBLE is platform-dependent. Most platforms support the 64-bit size.