| Oracle® Data Provider for .NET開発者ガイド リリース9.2.0.4 部品番号 B13807-01 |
|
Oracle.DataAccess.Typesネームスペース(ODP.NET型)、3/19
OracleDate構造体は、データベースに対して格納または取得されるOracleのDATEデータ型を表します。各OracleDateには、年、月、日、時、分および秒の情報が格納されています。
Object
ValueType
OracleDate
// C# public struct OracleDate : IComparable
インスタンス・メソッドではスレッド・セーフティを保証しませんが、すべてのpublic staticメソッドはスレッド・セーフです。
// C# // Compute the number of days between minimum values of // the OracleDate and DateTime structures OracleDate od1 = new OracleDate(DateTime.MinValue); OracleDate od2 = OracleDate.MinValue; // Set the nls_date_format for the ToString() OracleGlobalization og = OracleGlobalization.GetClientInfo(); og.DateFormat = "DD-MON-YYYY BC"; OracleGlobalization.SetThreadInfo(og); Console.WriteLine("DateTime.MinValue = " + od1.ToString()); Console.WriteLine("OracleDate.MinValue = " + od2.ToString()); // Compare the two values int result = od1.CompareTo(od2); // Output the difference in number of days (as a positive value) if (result == 0) Console.WriteLine("DateTime and OracleDate Minimum values"+ " are equal."); else if (result < 0) Console.WriteLine("DateTime Minimum value is before OracleDate" + " Minumum value by " + od2.GetDaysBetween(od1) + " days."); else if (result > 0) Console.WriteLine("OracleDate Minimum value is before DateTime" + " Minumum value by " + od1.GetDaysBetween(od2) + " days.");
ネームスペース: Oracle.DataAccess.Types
アセンブリ: Oracle.DataAccess.dll
OracleDateのメンバーを次の表に示します。
OracleDateのコンストラクタを表5-14に示します。
| コンストラクタ | 説明 |
|---|---|
|
OracleDate構造体の新規インスタンスをインスタンス化します(オーバーロード)。 |
OracleDateのstaticフィールドを表5-15に示します。
| フィールド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
OracleDateのstaticメソッドを表5-16に示します。
OracleDateのstatic演算子を表5-17に示します。
OracleDateのstatic型変換を表5-18に示します。
| 演算子 | 説明 |
|---|---|
|
構造体を |
|
|
構造体を |
OracleDateのプロパティを表5-19に示します。
OracleDateのメソッドを表5-20に示します。
OracleDateのコンストラクタは、OracleDate構造体の新規インスタンスをインスタンス化します。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定されたDateTime値を使用してその日時の値を設定します。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定された文字列を使用してその値を設定します。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定された年、月および日を使用してその日付の値を設定します。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定された年、月、日、時、分および秒を使用してその時間の値を設定します。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定されたバイト配列にその値を設定します。このバイト配列はOracleのDATEの内部形式です。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定されたDateTime値を使用してその日時の値を設定します。
// C# public OracleDate (DateTime dt);
OracleDate構造体は、秒の精度までしかサポートしません。指定されたDateTime構造体では、秒より小さい精度の時間の値は無視されます。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定された文字列を使用してその値を設定します。
// C# public OracleDate (string dateStr);
ArgumentException: dateStrが無効な文字列表現のOracleのDATEであるか、スレッドのOracleGlobalization.DateFormatプロパティ(OracleのNLS_DATE_FORMATパラメータを表す)によって指定された日付書式ではありません。
ArgumentNullException: dateStrがnullです。
月および日に使用される名前および略称には、スレッドのOracleGlobalizationオブジェクトのDateLanguageプロパティおよびCalendarプロパティによって指定された言語が使用されます。スレッドのグローバリゼーション・プロパティがnullまたは空の文字列に設定されている場合、クライアント・コンピュータの設定が使用されます。
// C# // Set the nls_date_format for the Parse() method OracleGlobalization og = OracleGlobalization.GetClientInfo(); og.DateFormat = "YYYY-MON-DD"; OracleGlobalization.SetThreadInfo(og); // construct OracleDate from a string using the DateFormat specified. OracleDate od = new OracleDate("1999-NOV-11"); // Set the nls_date_format for the OracleDate(string) constructor og.DateFormat = "DD-MON-YYYY"; OracleGlobalization.SetThreadInfo(og); Console.WriteLine(od.ToString()); // Prints 11-NOV-1999
| 関連資料:
|
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定された年、月および日を使用してその日付の値を設定します。
// C# public OracleDate (int year, int month, int day);
ArgumentOutOfRangeException: 1つ以上のパラメータの引数値が指定された範囲内の値ではありません。
ArgumentException: 有効なOracleDateの構成にパラメータの引数値を使用できません(つまり、日がその月の範囲内の値ではありません)。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定された年、月、日、時、分および秒を使用してその時間の値を設定します。
// C# public OracleDate (int year, int month, int day, int hour, int minute, int second);
year
指定された年。yearの範囲は-4712〜9999です。
month
指定された月。monthの範囲は1〜12です。
day
指定された日。dayの範囲は1〜31です。
hour
指定された時。hourの範囲は0〜23です。
minute
指定された分。minuteの範囲は0〜59です。
second
指定された秒。secondの範囲は0〜59です。
ArgumentOutOfRangeException: 1つ以上のパラメータの引数値が指定された範囲内の値ではありません。
ArgumentException: 有効なOracleDateの構成にパラメータの引数値を使用できません(つまり、日がその月の範囲内の値ではありません)。
このコンストラクタは、OracleDate構造体の新規インスタンスを作成し、指定されたバイト配列にその値を設定します。このバイト配列はOracleのDATEの内部形式です。
// C# public OracleDate(byte [] bytes);
ArgumentException: bytesがnullか、OracleのDATEの内部形式ではないか、有効なOracleのDATEではありません。
OracleDateのstaticフィールドを表5-21に示します。
| フィールド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
このstaticフィールドは、OracleDate構造体の有効日付の最大値を表します。最大値は9999年12月31日の23:59:59です。
// C# public static readonly OracleDate MaxValue;
このstaticフィールドは、OracleDate構造体の有効日付の最小値を表します。最小値は-4712年1月1日の0:0:0です。
// C# public static readonly OracleDate MinValue;
このstaticフィールドは、OracleDate構造体のインスタンス値に割り当てられるnull値を表します。
// C# public static readonly OracleDate Null;
OracleDateのstaticメソッドを表5-22に示します。
Objectをオーバーロードします。
このメソッドは、2つのOracleDate値が等しいかどうかを判断します。
// C# public static bool Equals(OracleDate value1, OracleDate value2);
2つのOracleDate値が等しい場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値より大きいかどうかを判断します。
// C# public static bool GreaterThan(OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値より大きい場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値以上かどうかを判断します。
// C# public static bool GreaterThanOrEqual(OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値以上の場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値より小さいかどうかを判断します。
// C# public static bool LessThan(OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値より小さい場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値以下かどうかを判断します。
// C# public static bool LessThanOrEqual(OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値以下の場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値が等しくないかどうかを判断します。
// C# public static bool NotEquals(OracleDate value1, OracleDate value2);
2つのOracleDate値が等しくない場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、現在の日時を表すOracleDate構造体を取得します。
// C# public static OracleDate GetSysDate ();
現在の日時を表すOracleDate構造体
このメソッドは、OracleDate構造体を取得し、指定された文字列を使用してその日時の値を設定します。
// C# public static OracleDate Parse (string dateStr);
OracleDate構造体
ArgumentException: dateStrが無効な文字列表現のOracleのDATEであるか、スレッドのOracleGlobalization.DateFormatプロパティ(OracleのNLS_DATE_FORMATパラメータを表す)によって指定された日付書式ではありません。
ArgumentNullException: dateStrがnullです。
月および日に使用される名前および略称には、スレッドのOracleGlobalizationオブジェクトのDateLanguageプロパティおよびCalendarプロパティによって指定された言語が使用されます。スレッドのグローバリゼーション・プロパティがnullまたは空の文字列に設定されている場合、クライアント・コンピュータの設定が使用されます。
// C# // Set the nls_date_format for the Parse() method OracleGlobalization og = OracleGlobalization.GetClientInfo(); og.DateFormat = "YYYY-MON-DD"; OracleGlobalization.SetThreadInfo(og); // construct OracleDate from a string using the DateFormat specified. OracleDate od = OracleDate.Parse("1999-NOV-11"); // Set the nls_date_format for the ToString() method og.DateFormat = "DD-MON-YYYY"; OracleGlobalization.SetThreadInfo(og); Console.WriteLine(od.ToString()); // Prints 11-NOV-1999
| 関連資料:
|
OracleDateのstatic演算子を表5-23に示します。
このメソッドは、2つのOracleDate値が等しいかどうかを判断します。
// C# public static bool operator == (OracleDate value1, OracleDate value2);
両方の値が同じ場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値より大きいかどうかを判断します。
// C# public static bool operator > (OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値より大きい場合、trueを返します。それ以外の場合、falseを返します。
備考
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値以上かどうかを判断します。
// C# public static bool operator >= (OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値以上の場合、trueを返します。それ以外の場合、falseを返します。
備考
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値が等しくないかどうかを判断します。
// C# public static bool operator != (OracleDate value1, OracleDate value2);
2つのOracleDate値が等しくない場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値より小さいかどうかを判断します。
// C# public static bool operator < (OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値より小さい場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
このメソッドは、2つのOracleDate値の1つ目の値が2つ目の値以下かどうかを判断します。
// C# public static bool operator <= (OracleDate value1, OracleDate value2);
2つのOracleDate値の1つ目の値が2つ目の値以下の場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
OracleDateのstatic型変換を表5-24に示します。
| 演算子 | 説明 |
|---|---|
|
構造体を |
|
|
構造体を |
このメソッドは、OracleDate構造体をDateTime構造体に変換します。
// C# public static explicit operator DateTime(OracleDate val);
DateTime構造体
explicit operator OracleDateは、指定された構造体をOracleDate構造体に変換します。
このメソッドは、DateTime構造体をOracleDate構造体に変換します。
このメソッドは、OracleTimeStamp構造体をOracleDate構造体に変換します。
このメソッドは、指定された文字列をOracleDate構造体に変換します。
このメソッドは、DateTime構造体をOracleDate構造体に変換します。
// C# public static explicit operator OracleDate(DateTime dt);
OracleDate構造体
このメソッドは、OracleTimeStamp構造体をOracleDate構造体に変換します。
// C# public explicit operator OracleDate(OracleTimeStamp ts);
返されるOracleDate構造体には、OracleTimeStamp構造体の日時が含まれます。
OracleTimeStamp値の精度は、変換時に失われる場合があります。
OracleTimeStamp構造体がnull値を持つ場合、返されるOracleDate構造体もnull値を持ちます。
このメソッドは、指定された文字列をOracleDate構造体に変換します。
// C# public explicit operator OracleDate (string dateStr);
返されるOracleDate構造体には、文字列dateStrの日時が含まれます。
ArgumentNullException: dateStrがnullです。
ArgumentException: この例外は、次の条件のいずれかに該当する場合にスローされます。
dateStrが無効な文字列表現のOracleのDATEである場合
dateStrがスレッドのOracleGlobalization.DateFormatプロパティ(OracleのNLS_DATE_FORMATパラメータを表す)によって指定された日付書式ではない場合
月および日に使用される名前および略称には、スレッドのOracleGlobalizationオブジェクトのDateLanguageプロパティおよびCalendarプロパティによって指定された言語が使用されます。スレッドのグローバリゼーション・プロパティがnullまたは空の文字列に設定されている場合、クライアント・コンピュータの設定が使用されます。
// C# // Set the nls_date_format for the Parse() method OracleGlobalization og = OracleGlobalization.GetClientInfo(); og.DateFormat = "YYYY-MON-DD"; OracleGlobalization.SetThreadInfo(og); // construct OracleDate from a string using the DateFormat specified. OracleDate od = (OracleDate) "1999-NOV-11"; // Set the nls_date_format for the ToString() method og.DateFormat = "DD-MON-YYYY"; OracleGlobalization.SetThreadInfo(og); Console.WriteLine(od.ToString()); // Prints 11-NOV-1999
OracleDateのプロパティを表5-25に示します。
このプロパティは、OracleのDATEをOracleの内部形式で表すバイト配列を取得します。
// C# public byte[] BinData{get;}
バイト配列
OracleNullValueException: OracleDateがnull値を持ちます。
このプロパティは、OracleDateの日の構成要素を取得します。
// C# public int Day{get;}
日を表す数値。Dayの範囲は1〜31です。
OracleNullValueException: OracleDateがnull値を持ちます。
このプロパティは、現在のインスタンスがnull値を持つかどうかを示します。
// C# public bool IsNull{get;}
現在のインスタンスがnull値を持つ場合、trueを返します。それ以外の場合、falseを返します。
このプロパティは、OracleDateの時の構成要素を取得します。
// C# public int Hour {get;}
時を表す数値。Hourの範囲は0〜23です。
OracleNullValueException: OracleDateがnull値を持ちます。
このプロパティは、OracleDateの分の構成要素を取得します。
// C# public int Minute {get;}
分を表す数値。Minuteの範囲は0〜59です。
OracleNullValueException: OracleDateがnull値を持ちます。
このプロパティは、OracleDateの月の構成要素を取得します。
// C# public int Month {get;}
月を表す数値。Monthの範囲は1〜12です。
OracleNullValueException: OracleDateがnull値を持ちます。
このプロパティは、OracleDateの秒の構成要素を取得します。
// C# public int Second {get;}
秒を表す数値。Secondの範囲は0〜59です。
OracleNullValueException: OracleDateがnull値を持ちます。
このプロパティは、OracleDate構造体に格納されている日時を指定します。
// C# public DateTime Value {get;}
DateTime
OracleNullValueException: OracleDateがnull値を持ちます。
このプロパティは、OracleDateの年の構成要素を取得します。
// C# public int Year {get;}
年を表す数値。Yearの範囲は-4712〜9999です。
OracleNullValueException: OracleDateがnull値を持ちます。
OracleDateのメソッドを表5-26に示します。
このメソッドは、現在のOracleDateインスタンスをオブジェクトと比較し、その相対値を表す整数を返します。
// C# public int CompareTo(object obj);
このメソッドは、次の数値を返します。
OracleDateインスタンス値がobjの値より小さい場合
OracleDateインスタンスとobjの値が等しい場合
OracleDateインスタンス値がobjの値より大きい場合
IComparable
ArgumentException: objパラメータがOracleDateのインスタンスではありません。
このメソッドの動作には、次の規則が適用されます。
OracleDate同士で行う必要があります。たとえば、OracleDateインスタンスとOracleBinaryインスタンスを比較することはできません。OracleDateを異なる型と比較すると、ArgumentExceptionがスローされます。
OracleDateは、null値を持つOracleDateより大きいことになります。
OracleDateがnull値を持つ場合、2つは等しいことになります。
このメソッドは、オブジェクトが現在のOracleDateインスタンスと同じ日時を持つかどうかを判断します。
// C# public override bool Equals( object obj);
objが現在のインスタンスと同じ型で同じ日時を表す場合、trueを返します。それ以外の場合、falseを返します。
このメソッドの動作には、次の規則が適用されます。
Objectをオーバーライドします。
このメソッドは、OracleDateインスタンスのハッシュ・コードを返します。
// C# public override int GetHashCode();
ハッシュ・コードを表す数値
このメソッドは、現在のOracleDateインスタンスと指定されたOracleDate構造体の間の日数を計算します。
// C# public int GetDaysBetween (OracleDate val);
現在のOracleDateインスタンスとOracleDate構造体の間の日数
OracleNullValueException: 現在のインスタンスまたは指定されたOracleDate構造体がnull値を持ちます。
このメソッドは、現在のOracleDate構造体をOracleTimeStamp構造体に変換します。
// C# public OracleTimeStamp ToOracleTimeStamp();
OracleTimeStamp構造体
返されるOracleTimeStamp構造体には、現在のインスタンスの日時が含まれます。
OracleDateインスタンスがnull値を持つ場合、返されるOracleTimeStamp構造体はnull値を持ちます。
ValueTypeをオーバーライドします。
このメソッドは、現在のOracleDate構造体を文字列に変換します。
// C# public override string ToString();
文字列
返される値は、スレッドのOracleGlobalization.DateFormatプロパティによって指定された書式の、文字列表現のOracleDateです。月および日に使用される名前および略称には、スレッドのOracleGlobalization.DateLanguageプロパティおよびOracleGlobalization.Calendarプロパティによって指定された言語が使用されます。スレッドのグローバリゼーション・プロパティがnullまたは空の文字列に設定されている場合、クライアント・コンピュータの設定が使用されます。
// C# // Set the nls_date_format for the Parse() method OracleGlobalization og = OracleGlobalization.GetClientInfo(); og.DateFormat = "YYYY-MON-DD"; OracleGlobalization.SetThreadInfo(og); // construct OracleDate from a string using the DateFormat specified. OracleDate od = new OracleDate("1999-NOV-11"); // Set the nls_date_format for the ToString() method og.DateFormat = "DD-MON-YYYY"; OracleGlobalization.SetThreadInfo(og); Console.WriteLine(od.ToString()); // Prints 11-NOV-1999
|
|
![]() Copyright © 2002, 2003 Oracle Corporation. All Rights Reserved. |
|