[][src]Enum odbc_api::DataType

pub enum DataType {
    Unknown,
    Char {
        length: ULen,
    },
    Numeric {
        precision: ULen,
        scale: SmallInt,
    },
    Decimal {
        precision: ULen,
        scale: SmallInt,
    },
    Integer,
    SmallInt,
    Float,
    Real,
    Double,
    Varchar {
        length: ULen,
    },
    Date,
    Time {
        precision: SmallInt,
    },
    Timestamp {
        precision: SmallInt,
    },
    Bigint,
    Tinyint,
    Bit,
    Other {
        data_type: SqlDataType,
        column_size: ULen,
        decimal_digits: SmallInt,
    },
}

Enumeration over valid SQL Data Types supported by ODBC

Variants

Unknown

The type is not known.

Char

Char(n). Character string of fixed length.

Fields of Char

length: ULen

Column size in characters (excluding terminating zero).

Numeric

`Numeric(p,s). Signed, exact, numeric value with a precision p and scale s (1 <= p <= 15; s <= p)

Fields of Numeric

precision: ULen

Total number of digits.

scale: SmallInt

Number of decimal digits.

Decimal

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)

Fields of Decimal

precision: ULen

Total number of digits.

scale: SmallInt

Number of decimal digits.

Integer

Integer. 32 Bit Integer

SmallInt

Smallint. 16 Bit Integer

Float

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

Real. Signed, approximate, numeric value with a binary precision 24 (zero or absolute value 10[-38] to 10[38]).

Double

Double Precision. Signed, approximate, numeric value with a binary precision 53 (zero or absolute value 10[-308] to 10[308]).

Varchar

Varchar(n). Variable length character string.

Fields of Varchar

length: ULen

Maximum length of the character string (excluding terminating zero).

Date

Date. Year, month, and day fields, conforming to the rules of the Gregorian calendar.

Time

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: SmallInt
Timestamp

Timestamp. Year, month, day, hour, minute, and second fields, with valid values as defined for the Date and Time variants.

Fields of Timestamp

precision: SmallInt
Bigint

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

TINYINT. Exact numeric value with precision 3 and scale 0 (signed: -128 <= n <= 127, unsigned: 0 <= n <= 255)

Bit

BIT. Single bit binary data.

Other

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: ULen

Size of column element

decimal_digits: SmallInt

Implementations

impl DataType[src]

pub fn new(
    data_type: SqlDataType,
    column_size: ULen,
    decimal_digits: SmallInt
) -> Self
[src]

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

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.