[−][src]Enum odbc_api::handles::DataType
Enumeration over valid SQL Data Types supported by ODBC
Variants
The type is not known.
Char(n)
. Character string of fixed length.
Fields of Char
length: usize
Column size in characters (excluding terminating zero).
`Numeric(p,s). Signed, exact, numeric value with a precision p and scale s (1 <= p <= 15; s <= p)
Decimal(p,s)
. Signed, exact, numeric value with a precision of at least p and scale s.
The maximum precision is driver-defined. (1 <= p <= 15; s <= p)
Integer
. 32 Bit Integer
Smallint
. 16 Bit Integer
Float(p)
. Signed, approximate, numeric value with a binary precision of at least p. The
maximum precision is driver-defined.
Depending on the implementation binary precision is either 24 (f32
) or 53 (f64
).
Real
. Signed, approximate, numeric value with a binary precision 24 (zero or absolute
value 10^-38] to 10^38).
Double Precision
. Signed, approximate, numeric value with a binary precision 53 (zero or
absolute value 10^-308 to 10^308).
Varchar(n)
. Variable length character string.
Fields of Varchar
length: usize
Maximum length of the character string (excluding terminating zero).
NVARCHAR(n)
. Variable length character string. Indicates the use of wide character strings
and use of UCS2 encoding on the side of the database.
Fields of WVarchar
length: usize
Maximum length of the character string (excluding terminating zero).
Date
. Year, month, and day fields, conforming to the rules of the Gregorian calendar.
Time
. Hour, minute, and second fields, with valid values for hours of 00 to 23, valid
values for minutes of 00 to 59, and valid values for seconds of 00 to 61. Precision p
indicates the seconds precision.
Fields of Time
precision: i16
Timestamp
. Year, month, day, hour, minute, and second fields, with valid values as
defined for the Date and Time variants.
Fields of Timestamp
precision: i16
BIGINT
. Exact numeric value with precision 19 (if signed) or 20 (if unsigned) and scale 0
(signed: -2^63 <= n <= 2^63 - 1, unsigned: 0 <= n <= 2^64 - 1). Has no corresponding
type in SQL-92.
TINYINT
. Exact numeric value with precision 3 and scale 0 (signed: -128 <= n <= 127,
unsigned: 0 <= n <= 255)
BIT
. Single bit binary data.
The driver returned a type, but it is not among the other types of these enumeration. This is a catchall, in case the library is incomplete, or the data source supports custom or non-standard types.
Fields of Other
data_type: SqlDataType
Type of the column
column_size: usize
Size of column element
decimal_digits: i16
Implementations
impl DataType
[src]
pub fn new(
data_type: SqlDataType,
column_size: usize,
decimal_digits: i16
) -> Self
[src]
data_type: SqlDataType,
column_size: usize,
decimal_digits: i16
) -> Self
This constructor is useful to create an instance of the enumeration using values returned by
ODBC Api calls like SQLDescribeCol
, rather than just initializing a variant directly.
pub fn data_type(&self) -> SqlDataType
[src]
The associated data_type
discriminator for this variant.
pub fn column_size(&self) -> usize
[src]
Return the column size, as it is required to bind the data type as a parameter. This implies
pub fn decimal_digits(&self) -> i16
[src]
Return the number of decimal digits as required to bind the data type as a parameter.
pub fn display_size(&self) -> Option<usize>
[src]
The maximum number of characters needed to display data in character form.
See: https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/display-size
pub fn utf8_len(&self) -> Option<usize>
[src]
The (maximum) length of the utf-8 representation in bytes.
Trait Implementations
impl Clone for DataType
[src]
impl Copy for DataType
[src]
impl Debug for DataType
[src]
impl Default for DataType
[src]
impl Eq for DataType
[src]
impl PartialEq<DataType> for DataType
[src]
impl StructuralEq for DataType
[src]
impl StructuralPartialEq for DataType
[src]
Auto Trait Implementations
impl RefUnwindSafe for DataType
[src]
impl Send for DataType
[src]
impl Sync for DataType
[src]
impl Unpin for DataType
[src]
impl UnwindSafe for DataType
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,