pub trait ToSql: Send + Sync {
// Required method
fn to_sql(&self) -> ColumnData<'_>;
}
Expand description
A conversion trait to a TDS type.
A ToSql
implementation for a Rust type is needed for using it as a
parameter in the Client#query
or Client#execute
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 (< 4000 characters) | nvarchar(4000) |
String /&str | nvarchar(max) |
Vec<u8> /&[u8] (< 8000 bytes) | varbinary(8000) |
Vec<u8> /&[u8] | varbinary(max) |
Uuid | uniqueidentifier |
Numeric | numeric /decimal |
Decimal (with feature flag rust_decimal ) | numeric /decimal |
BigDecimal (with feature flag bigdecimal ) | numeric /decimal |
XmlData | xml |
NaiveDate (with chrono feature, TDS 7.3 >) | date |
NaiveTime (with chrono feature, TDS 7.3 >) | time |
DateTime (with chrono feature, TDS 7.3 >) | datetimeoffset |
NaiveDateTime (with chrono feature, TDS 7.3 >) | datetime2 |
NaiveDateTime (with chrono feature, TDS 7.2) | datetime |
It is possible to use some of the types to write into columns that are not
of the same type. For example on systems following the TDS 7.3 standard (SQL
Server 2008 and later), the chrono type NaiveDateTime
can also be used to
write to datetime
, datetime2
and smalldatetime
columns. All string
types can also be used with ntext
, text
, varchar
, nchar
and char
columns. All binary types can also be used with binary
and image
columns.
See the time
module for more information about the date and time structs.
Required Methods§
Sourcefn to_sql(&self) -> ColumnData<'_>
fn to_sql(&self) -> ColumnData<'_>
Convert to a value understood by the SQL Server. Conversion by-reference.