The Schema collections return metadata for the Teradata Database objects. The notable metadata columns for the Interval Day-to-Minute data type are:
Column Name | Description |
---|---|
COLUMN_TYPE or DATA_TYPE |
Set to INTERVAL DAY TO MINUTE. |
FORMAT | Teradata Database Format assigned to the Teradata Database object. |
PROVIDERDBTYPE | It is set to TdType.IntervalDayToMinute. |
INTERVAL_PRECISION | The maximum number of digits for the Day component. |
The TdDataReader.SchemaTable returns result set metadata. The notable metadata columns for the Interval Day-to-Minute data type are:
Column Name | Description |
---|---|
NumericPrecision | The maximum number of digits for the Day component. |
DataType | System.Type object for the System.TimeSpan structure. |
ProviderType | Set to TdType.IntervalDayToMinute. |
Format | Teradata Database Format assigned to the Teradata Database object. |
ProviderSpecificDataType | System.Type object for the TdIntervalDayToMinute structure. |
The following example shows how to configure an Interval Day-to-Minute parameter using DbType type declaration and a Base Class Library (BCL) value. The TdParameter.Precision property reflects the maximum number of digits for the Day component and it must be equal to or less than the target Teradata Database object (i.e. Column, Expression, Stored Procedure Parameters and etc.) declaration. The range of values are from One to Four.
![]() |
---|
The Data Provider will throw an exception if the Day component of the System.TimeSpan value is greater than 9,999 Days. |
![]() |
---|
The Data Provider truncates the Seconds and Milliseconds components of the System.TimeSpan vlaue. |
C# |
Copy Code
|
---|---|
TdParameter deliveryInterval = new TdParameter(); deliveryInterval.ParameterName = "deliveryDaysAndMinute"; deliveryInterval.DbType = DbType.Object; // Maximum number of Day digits deliveryInterval.Precision = 2; // 9 Days, 12 Hours and 35 Minutes. deliveryInterval.Value = new System.TimeSpan(9, 12, 35, 0); |
The following example shows how to configure an Interval Day-to-Minute parameter using TdType type declaration and a Provider Specific value. It is recommend to always set TdParameter.Precision property, however the Data Provider will utilize TdIntervalDayToMinute.Precision property value when the TdParameter.Precision property is set to zero. .NET Applications can retrieve metadata from the Schema Collections or the Schema Table and apply the metadata to the TdParameter object.
![]() |
---|
The Data Provider will throw an exception if the Interval Day Component is greater than the maximum permissible value specified by the TdParameter.Precision property. |
C# |
Copy Code
|
---|---|
TdParameter deliveryInterval = new TdParameter(); deliveryInterval.ParameterName = "deliveryDaysAndMinute"; deliveryInterval.TdType = TdType.IntervalDayToMinute; // Maximum number of Day digits deliveryInterval.Precision = 2; // 9 Day, 12 Hours and 35 Minutes. deliveryInterval.ProviderSpecificValue = new TdIntervalDayToMinute(9, 12, 35); |
The syntax for the Interval Day-to-Minute Literal is INTERVALsign'dddd hh:mi'DAY TO MINUTE. Interval Day-to-Minute literals consist of the word Interval followed by optional negative sign, character string literal representation of the number of Days (up to 4 digits ranging from 0 to 9999), Hours (2 digits ranging from 00 to 23) and Minutes (2 digits ranging from 00 to 59) and the phrase Day To Minute.
![]() |
---|
We recommend to always use Parameters in order to take advantage of the Teradata Database Request Cache. |
The following example shows 10 Days, 3 hours and 59 Minutes represented as Interval Day-to-Minute Literal in the Command Text.
C# |
Copy Code
|
---|---|
using (TdConnection cn = new TdConnection("data source=x;UserId=y;Password=z;")) { cn.Open(); TdCommand cmd = cn.CreateCommand(); // Delivery exceeding 10 days, 3 hours and 59 minutes. cmd.CommandText = "SELECT Id, orderDate from Order where (CURRENT_DATE - OrderTimestamp) > INTERVAL'10 03:59'DAY TO MINUTE "; using (TdDataReader reader = cmd.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { Console.WriteLine("Id={0}", reader.GetInt64(0).ToString()); } } } } |
The following methods and properties return the column or parameter value as a System.TimeSpan structure.
The following methods and properties return the column or parameter value as a TdIntervalDayToMinute structure.
C# |
Copy Code
|
---|---|
using (TdConnection cn = new TdConnection("data source=DS1;UserId=Joe;Password=XY;")) { cn.Open(); TdCommand cmd = cn.CreateCommand(); cmd.CommandText = "SELECT Id, orderDate, deliveryDaysAndMinutes from Order where deliveryDaysAndMinutes > ?"; cmd.Parameters.Add("delivery", TdType.IntervalDayToMinute); cmd.Parameters[0].Precison = 2; cmd.Parameters[0].Value = new TimeSpan(10, 3, 59, 0); using (TdDataReader reader = cmd.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { Console.WriteLine("[TimeSpan] Delivery Days to Minutes = {0}", reader.GetValue(2).ToString()); Console.WriteLine("[TdIntervalDayToMinutes] Delivery Days to Minutes = {0}", reader.GetTdIntervalDayToMinutes(2).ToString()); } } } } /* Output: [TimeSpan] Delivery Days to Minutes = 11.03:09:00.0000000 [TdIntervalDayToMinutes] Delivery Days to Minutes = 11 03:09 */ |
Accessor Methods for Retrieving Data
Configuring Parameters and Parameter Data Types