This page contains an index of Table field data types in LibreOffice Base, which you should learn before you design your database.
When you design your database and tables, you should always consider what data types your fields would hold. That includes the basic data to larger data sets when your database grows.
Also, you need to keep in mind the size of your data to match the field types.
LibreOffice Base’s built-in HSQLDB database structure brings many data types to your database tables. Here’s a quick list of those for your reference.
Table of Contents
Field data types in LibreOffice Base
You can find the following list of types while designing a table and specifying its type. See the below image where you assign these fields.
So, before you assign a field type, as shown above, consider their range of values and storage in memory, as mentioned in the tables below.
Numeric Data types – Integer
Type | Field Type in Base | HSQLDB Type | Range of values | Storage in memory |
---|---|---|---|---|
Tiny Integer | TINYINT | TINYINT | 2^8 = 256 | – 128 to + 127 | 1 Byte |
Small Integer | SMALLINT | SMALLINT | 2^16 = 65536 | – 32768 to + 32767 | 2 Bytes |
Integer | INTEGER | INTEGER | INT | 2^32 = 4294967296 | – 2147483648 to + 2147483647 | 4 Bytes |
BigInt | BIGINT | BIGINT | 2^64 | 8 Bytes |
Numeric Data types – Floating
Type | Field Type in Base | HSQLDB Type | Range of values | Storage in memory |
---|---|---|---|---|
Decimal | DECIMAL | DECIMAL | Unlimited, up to 50 places in the GUI, fixed decimal point, perfect accuracy | variable |
Number | NUMERIC | NUMERIC | Unlimited, up to 50 places in the GUI, fixed decimal point, perfect accuracy | variable |
Float | FLOAT | (DOUBLE used instead) | ||
Real | REAL | REAL | ||
Double | DOUBLE | DOUBLE [PRECISION] | FLOAT | Adjustable, not exact, 15 decimal places maximum | 8 Bytes |
Text field types
Type | Field Type in Base | HSQLDB Type | Range of Values | Storage in memory |
---|---|---|---|---|
Text | VARCHAR | VARCHAR | Adjustable | variable |
Text | VARCHAR_ IGNORECASE | VARCHAR_ IGNORECASE | Adjustable, range affects sorting | variable |
Text (fix) | CHAR | CHAR | CHARACTER | Adjustable, rest of actual text replaced with spaces | fixed |
Memo | LONGVARCHAR | LONGVARCHAR | variable |
Time field types
Type | Field Type in Base | HSQLDB Type | Range of Values | Storage in memory |
---|---|---|---|---|
Date | DATE | DATE | 4 Bytes | |
Time | TIME | TIME | 4 Bytes | |
Date/Time | TIMESTAMP | TIMESTAMP | DATETIME | Adjustable (0.6 – 6 means with milliseconds) | 8 Bytes |
Misc field types
Type | Field Type in Base | HSQLDB Type | Range of Values | Storage in Memory |
---|---|---|---|---|
Yes/No | BOOLEAN | BOOLEAN | BIT | ||
Binaryfield (fix) | BINARY | BINARY | Like Integer | fixed |
Binary field | VARBINARY | VARBINARY | Like Integer | variable |
Image | LONGVARBINARY | LONGVARBINARY | Like Integer | variable, intended for larger images |
OTHER | OTHER | OTHER | OBJECT |
Wrapping Up
While assigning the field type during table design, consider the types of data it holds. And also consider what the prospects of that field – whether it can grow to hold more data. And assign accordingly.
I hope this helps you to design your Base database with proper data types. And do let me know in the comment section if you have any questions.

why float and real Range is blank