Struct oracle::sql_type::IntervalYM[][src]

pub struct IntervalYM { /* fields omitted */ }
Expand description

Oracle-specific Interval Year to Month data type.

Examples

// Create an interval by new().
let intvl1 = IntervalYM::new(2, 3);

// All arguments must be zero or negative to create a negative interval.
let intvl2 = IntervalYM::new(-2, -3);

// Convert to string.
assert_eq!(intvl1.to_string(), "+000000002-03");
assert_eq!(intvl2.to_string(), "-000000002-03");

// Create an interval with precision.
let intvl3 = IntervalYM::new(2, 3).and_prec(3);

// The string representation depends on the precisions.
assert_eq!(intvl3.to_string(), "+002-03");

// Precisions are ignored when intervals are compared.
assert!(intvl1 == intvl3);

// Create an interval from string.
let intvl4: IntervalYM = "+002-3".parse()?;

// The precision is determined by number of decimal digits in the string.
assert_eq!(intvl4.precision(), 3);

Fetch and bind interval values.

let conn = Connection::connect("scott", "tiger", "")?;

// Fetch IntervalYM
let sql = "select interval '+02-03' year to month from dual";
let intvl = conn.query_row_as::<IntervalYM>(sql, &[])?;
assert_eq!(intvl.to_string(), "+02-03");

// Bind IntervalYM
let sql = "begin \
             :outval := to_timestamp('2017-08-09', 'yyyy-mm-dd') + :inval; \
           end;";
let mut stmt = conn.prepare(sql, &[])?;
stmt.execute(&[&OracleType::Date, // bind null as date
               &intvl, // bind the intvl variable
              ])?;
let outval: Timestamp = stmt.bind_value(1)?; // get the first bind value.
// 2017-08-09 + (2 years and 3 months)
assert_eq!(outval.to_string(), "2019-11-09 00:00:00");

Implementations

Creates a new IntervalYM.

Valid values are:

argumentvalid values
years-999999999 to 999999999
months-11 to 11

All arguments must be zero or positive to create a positive interval. All arguments must be zero or negative to create a negative interval.

Creates a new IntervalYM with precision.

The precision affects text representation of IntervalYM. It doesn’t affect comparison.

Returns years component.

Returns months component.

Returns precision.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The associated error which can be returned from parsing.

Parses a string s to return a value of this type. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.