pub trait FromSql<'a>where
Self: Sized + 'a,{
// Required method
fn from_sql(value: &'a ColumnData<'static>) -> Result<Option<Self>>;
}
Expand description
A conversion trait from a TDS type by-reference.
A FromSql
implementation for a Rust type is needed for using it as a
return parameter from Row#get
or Row#try_get
methods. The following
Rust types are already implemented to match the given server types:
Rust type | Server type |
---|---|
u8 | tinyint |
i16 | smallint |
i32 | int |
i64 | bigint |
f32 | float(24) |
f64 | float(53) |
bool | bit |
String /&str | nvarchar /varchar /nchar /char /ntext /text |
Vec<u8> /&[u8] | binary /varbinary /image |
Uuid | uniqueidentifier |
Numeric | numeric /decimal |
Decimal (with feature flag rust_decimal ) | numeric /decimal |
XmlData | xml |
NaiveDateTime (with feature flag chrono ) | datetime /datetime2 /smalldatetime |
NaiveDate (with feature flag chrono ) | date |
NaiveTime (with feature flag chrono ) | time |
DateTime (with feature flag chrono ) | datetimeoffset |
See the time
module for more information about the date and time structs.
Required Methods§
Sourcefn from_sql(value: &'a ColumnData<'static>) -> Result<Option<Self>>
fn from_sql(value: &'a ColumnData<'static>) -> Result<Option<Self>>
Returns the value, None
being a null value, copying the value.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.