KQLite Columns
KQLite not only supports standard SQLite data types but also provides a rich set of column types designed to seamlessly work with native Kotlin data types.
SQLite standard columns
object StandardSQLiteTypesTable : KQLiteTable("standard_types_table") {
val integerColumn: KQLiteColumn<Long?> = integerColumn("integer_column") // INTEGER
val realColumn: KQLiteColumn<Double?> = realColumn("real_column") // REAL
val textColumn: KQLiteColumn<String?> = textColumn("text_column") // TEXT
val blobColumn: KQLiteColumn<ByteArray?> = blobColumn("blob_column") // BLOB
val booleanColumn: KQLiteColumn<Boolean?> = booleanColumn("boolean_column") // BOOLEAN
val notNullColumn: KQLiteColumn<String> = textColumn("not_null_column").notNull() // TEXT NOT NULL
}
Content copied to clipboard
Column Definition
KQLiteColumn Type
SQLite Type
integerColumn
KQLiteColumn<Long?>
INTEGER
realColumn
KQLiteColumn<Double?>
REAL
textColumn
KQLiteColumn<String?>
TEXT
blobColumn
KQLiteColumn<ByteArray?>
BLOB
booleanColumn
KQLiteColumn<Boolean?>
BOOLEAN
JVM primitive columns
Column Definition
KQLiteColumn Type
SQLite Type
longColumn
KQLiteColumn<Long?>
INTEGER
intColumn
KQLiteColumn<Int?>
INTEGER if autoIncrement() else INT
shortColumn
KQLiteColumn<Short?>
SMALLINT
byteColumn
KQLiteColumn<Byte?>
TINYINT
doubleColumn
KQLiteColumn<Double?>
REAL
floatColumn
KQLiteColumn<Float?>
FLOAT
stringColumn
KQLiteColumn<String?>
TEXT
charColumn
KQLiteColumn<Char?>
CHAR(1)
byteArrayColumn
KQLiteColumn<ByteArray?>
BLOB
Unsigned columns
Column Definition
KQLiteColumn Type
SQLite Type
uLongColumn
KQLiteColumn<ULong?>
INTEGER if autoIncrement() else BIGINT UNSIGNED
uIntColumn
KQLiteColumn<UInt?>
INTEGER if autoIncrement() else INT UNSIGNED
uShortColumn
KQLiteColumn<UShort?>
SMALLINT UNSIGNED
uByteColumn
KQLiteColumn<UByte?>
TINYINT UNSIGNED
Date and Time columns
Column Definition
KQLiteColumn Type
SQLite Type
dateColumn
KQLiteColumn<KQLiteDate?>
DATE
timeColumn
KQLiteColumn<KQLiteTime?>
TIME
datetimeColumn
KQLiteColumn<KQLiteDatetime?>
DATETIME
julianDayColumn
KQLiteColumn<KQLiteJulianDay?>
DOUBLE
unixEpochColumn
KQLiteColumn<KQLiteUnixEpoch?>
BIGINT
JSON columns
Column Definition
KQLiteColumn Type
SQLite Type
jsonColumn
KQLiteColumn<KQLiteJson?>
JSON
jsonObjectColumn
KQLiteColumn<KQLiteJsonObject?>
JSON OBJECT
jsonArrayColumn
KQLiteColumn<KQLiteJsonArray?>
JSON ARRAY
Enum column
Column Definition
KQLiteColumn Type
SQLite Type
enumColumn
KQLiteColumn<Enum<E>?>
ENUM