#[non_exhaustive]pub enum ColumnType {
Show 24 variants
Char(Option<u32>),
String(Option<u32>),
Text,
TinyInteger,
SmallInteger,
Integer,
BigInteger,
Float,
Double,
Decimal(Option<(u32, u32)>),
Boolean,
Date,
Time,
DateTime,
Timestamp,
TimestampWithTimeZone,
Binary(Option<u32>),
VarBinary(u32),
Blob,
Uuid,
Json,
JsonBinary,
Array(Box<ColumnType>),
Custom(String),
}Expand description
SQL column types
This enum represents the various column types supported across PostgreSQL, MySQL, and SQLite.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Char(Option<u32>)
CHAR(n) - Fixed-length character string
String(Option<u32>)
VARCHAR(n) - Variable-length character string
Text
TEXT - Variable-length text
TinyInteger
TINYINT - Very small integer (1 byte)
SmallInteger
SMALLINT - Small integer (2 bytes)
Integer
INTEGER - Standard integer (4 bytes)
BigInteger
BIGINT - Large integer (8 bytes)
Float
FLOAT - Single precision floating point
Double
DOUBLE - Double precision floating point
Decimal(Option<(u32, u32)>)
DECIMAL(p, s) - Exact numeric with precision and scale
Boolean
BOOLEAN - Boolean value
Date
DATE - Date (year, month, day)
Time
TIME - Time of day
DateTime
DATETIME - Date and time (MySQL)
Timestamp
TIMESTAMP - Timestamp with timezone
TimestampWithTimeZone
TIMESTAMPTZ - Timestamp with timezone (PostgreSQL)
Binary(Option<u32>)
BINARY(n) - Fixed-length binary data
VarBinary(u32)
VARBINARY(n) - Variable-length binary data
Blob
BLOB - Binary large object
Uuid
UUID - Universally unique identifier
Json
JSON - JSON data
JsonBinary
JSONB - Binary JSON (PostgreSQL)
Array(Box<ColumnType>)
ARRAY - Array type (PostgreSQL)
Custom(String)
Custom type - for database-specific types
§Security Note
Only use with trusted type names. Do not use with user input.
Trait Implementations§
Source§impl Clone for ColumnType
impl Clone for ColumnType
Source§fn clone(&self) -> ColumnType
fn clone(&self) -> ColumnType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more