public OracleTimestamp(OracleTimeStamp timeStamp) { _value = timeStamp; if (!timeStamp.IsNull) { _dateTime = new OracleDateTime(timeStamp.Year, timeStamp.Month, timeStamp.Day, timeStamp.Hour, timeStamp.Minute, timeStamp.Second); } }
/// <summary> /// /// </summary> /// <param name="format"></param> /// <param name="date"></param> /// <param name="dateTime"></param> /// <returns></returns> protected internal bool ConvertToDateTimeFromOracleInternal(OracleDateTimeFormat format, object date, out DateTime dateTime) { dateTime = DateTime.MinValue; if (date == null) { return(false); } try { switch (format) { case OracleDateTimeFormat.ORACLE_DATE: var oracleDate = new OracleDate((string)date); if (oracleDate != OracleDate.Null) { dateTime = oracleDate.Value; } break; case OracleDateTimeFormat.ORACLE_TIMESTAMP: var oracleTSDate = new OracleTimeStamp((string)date); if (oracleTSDate != OracleTimeStamp.Null) { dateTime = oracleTSDate.Value; } break; case OracleDateTimeFormat.ORACLE_TIMESTAMP_TZ: var oracleTSZDate = new OracleTimeStampTZ((string)date); if (oracleTSZDate != OracleTimeStampTZ.Null) { dateTime = oracleTSZDate.Value; } break; case OracleDateTimeFormat.ORACLE_TIMESTAMP_LTZ: var oracleLTSZDate = new OracleTimeStampLTZ((string)date); if (oracleLTSZDate != OracleTimeStampLTZ.Null) { dateTime = oracleLTSZDate.Value; } break; default: throw new ApplicationException("Invalid format specified"); } } catch (Exception) { return(false); } return(true); }
private void TableDependency_Changed(object sender, RecordChangedEventArgs <DataTimeModel> e) { switch (e.ChangeType) { case ChangeType.Insert: dateColumReturned = e.Entity.DateColum; timeStampColumnReturned = new OracleTimeStamp(e.Entity.TimeStampColumn); timeStampWithTimeZoneReturned = e.Entity.TimeStampWithTimeZone; timeStampWithLocalTimeZoneReturned = new OracleTimeStampLTZ(e.Entity.TimeStampWithLocalTimeZone); intervalDayToSecondColumnReturned = new OracleIntervalDS(e.Entity.IntervalDayToSecondColumn); intervalYearToMonthColumnReturned = new OracleIntervalYM(e.Entity.IntervalYearToMonthColumn); break; } }
public void GetOracleTimeStamp() { var dateNow = DateTime.Now; var oraTimeStamp = new OracleTimeStamp(dateNow); var result = OracleValueConverter.Convert <DateTime>(oraTimeStamp); result.Should().Be(dateNow); var oraTimeStampArr = new OracleTimeStamp[1] { dateNow }; var secondResult = OracleValueConverter.Convert <DateTime[]>(oraTimeStampArr); secondResult.Should().BeOfType <DateTime[]>(); secondResult.Should().HaveCount(1); }
private object GetValue(OracleDecimal number, OracleDate date, OracleTimeStamp timestamp, OracleTimeStampTZ timestampWithTimezone, OracleTimeStampLTZ timestampWithLocalTimeZone, OracleIntervalYM yearToMonth, OracleIntervalDS dayToSecond) { if (!LimitValuesAvailable) { return(null); } if (_valueType == typeof(OracleDecimal)) { return(number.IsNull ? null : new OracleNumber(number)); } if (_valueType == typeof(OracleDate)) { return(date.IsNull ? null : new OracleDateTime(date)); } if (_valueType == typeof(OracleTimeStamp)) { return(timestamp.IsNull ? null : new OracleTimestamp(timestamp)); } if (_valueType == typeof(OracleTimeStampTZ)) { return(timestampWithTimezone.IsNull ? null : new OracleTimestampWithTimeZone(timestampWithTimezone)); } if (_valueType == typeof(OracleTimeStampLTZ)) { return(timestampWithLocalTimeZone.IsNull ? null : new OracleTimestampWithLocalTimeZone(timestampWithLocalTimeZone)); } if (_valueType == typeof(OracleIntervalYM)) { return(yearToMonth.IsNull ? null : new OracleIntervalYearToMonth(yearToMonth)); } if (_valueType == typeof(OracleIntervalDS)) { return(dayToSecond.IsNull ? null : new OracleIntervalDayToSecond(dayToSecond)); } return(null); }
public static void ClassInitialize(TestContext testContext) { OracleHelper.DropTable(ConnectionString, TableName); using (var connection = new OracleConnection(ConnectionString)) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = $"CREATE TABLE {TableName}(DATECOLUM DATE,TIMESTAMPCOLUMN TIMESTAMP(6),TIMESTAMPWITHTIMEZONE TIMESTAMP WITH TIME ZONE,TIMESTAMPWITHLOCALTIMEZONE TIMESTAMP WITH LOCAL TIME ZONE, INTERVALDAYTOSECONDCOLUMN INTERVAL DAY(2) TO SECOND(6),INTERVALYEARTOMONTHCOLUMN INTERVAL YEAR(2) TO MONTH)"; command.ExecuteNonQuery(); } } dateColum = DateTime.Now; timeStampColumn = new OracleTimeStamp(DateTime.Now); timeStampWithLocalTimeZone = OracleTimeStampLTZ.GetSysDate(); timeStampWithTimeZone = DateTimeOffset.Now; intervalDayToSecondColumn = new OracleIntervalDS(1); intervalYearToMonthColumn = new OracleIntervalYM(2); }
public OracleTimeStampField(OracleTimeStamp value) { _value = value; }
public static OracleTimeStamp ToTimeStamp(DateTime dt) { OracleTimeStamp result = new OracleTimeStamp(dt); return(result); }
public static DateTime ToDate(OracleTimeStamp ts) { DateTime result = new DateTime(ts.Year, ts.Month, ts.Day, ts.Hour, ts.Minute, ts.Second); return(result); }
public static void TextWrite(this TextWriter writer, OracleTimeStamp ts1) { writer.Write($"\"{ts1.Year:D4}-{ts1.Month:D2}-{ts1.Day:D2} {ts1.Hour:D2}:{ts1.Minute:D2}:{ts1.Second:D2}.{ts1.Nanosecond}\""); }
/// <summary> /// 获取Oracle参数的值 /// </summary> /// <param name="oraParam"></param> /// <returns></returns> protected virtual object GetOraParamVal(OracleParameter oraParam) { if (oraParam.Value == null || (oraParam.Value is INullable && (oraParam.Value as INullable).IsNull)) { return(DBNull.Value); } object val = DBNull.Value; if (oraParam.Value is OracleXmlType) { OracleXmlType xmltype = (OracleXmlType)oraParam.Value; if (!xmltype.IsEmpty) { val = xmltype.Value; } } else if (oraParam.Value is OracleBlob) { OracleBlob blobVal = (OracleBlob)oraParam.Value; if (!blobVal.IsNull) { val = (oraParam.Value as OracleBlob).Value; } } else if (oraParam.Value is OracleClob) { OracleClob clobVal = (OracleClob)oraParam.Value; if (!clobVal.IsNull) { val = clobVal.Value; } } else if (oraParam.Value is OracleDecimal) { OracleDecimal decimalVal = (OracleDecimal)oraParam.Value; if (!decimalVal.IsNull) { val = decimalVal.Value; } } else if (oraParam.Value is OracleDate) { OracleDate dateVal = (OracleDate)oraParam.Value; if (!dateVal.IsNull) { val = dateVal.Value; } } else if (oraParam.Value is OracleString) { OracleString stringVal = (OracleString)oraParam.Value; if (!stringVal.IsNull) { val = stringVal.Value; } } else if (oraParam.Value is OracleBFile) { OracleBFile fileVal = oraParam.Value as OracleBFile; if (!fileVal.IsNull) { val = fileVal.Value; } } else if (oraParam.Value is OracleBinary) { OracleBinary binaryVal = (OracleBinary)oraParam.Value; if (!binaryVal.IsNull) { val = binaryVal.Value; } } else if (oraParam.Value is OracleTimeStamp) { OracleTimeStamp timeStampVal = (OracleTimeStamp)oraParam.Value; if (!timeStampVal.IsNull) { val = timeStampVal.Value; } } else if (oraParam.Value is OracleRefCursor) { using (OracleRefCursor timeStampVal = (OracleRefCursor)oraParam.Value) { if (timeStampVal.IsNull) { return(null); } OracleDataReader dataReader = timeStampVal.GetDataReader(); DataTable datatable = new DataTable(); datatable.Load(dataReader); return(datatable); } } else { val = oraParam.Value; } return(val); }
internal static bool IsEqual(OracleTimeStamp?val1, OracleTimeStamp?val2) => val1.Value.IsNull != val2.Value.IsNull ? false : (val1.Value.IsNull && val2.Value.IsNull) || OracleTimeStamp.SetPrecision(val1.Value, OracleTimeStampPrecisionCompare).Equals(OracleTimeStamp.SetPrecision(val2.Value, OracleTimeStampPrecisionCompare));
private object GetValue(OracleDecimal number, OracleDate date, OracleTimeStamp timestamp, OracleTimeStampTZ timestampWithTimezone, OracleTimeStampLTZ timestampWithLocalTimeZone, OracleIntervalYM yearToMonth, OracleIntervalDS dayToSecond) { if (!LimitValuesAvailable) { return null; } if (_valueType == typeof(OracleDecimal)) { return number.IsNull ? null : new OracleNumber(number); } if (_valueType == typeof(OracleDate)) { return date.IsNull ? null : new OracleDateTime(date); } if (_valueType == typeof(OracleTimeStamp)) { return timestamp.IsNull ? null : new OracleTimestamp(timestamp); } if (_valueType == typeof(OracleTimeStampTZ)) { return timestampWithTimezone.IsNull ? null : new OracleTimestampWithTimeZone(timestampWithTimezone); } if (_valueType == typeof(OracleTimeStampLTZ)) { return timestampWithLocalTimeZone.IsNull ? null : new OracleTimestampWithLocalTimeZone(timestampWithLocalTimeZone); } if (_valueType == typeof(OracleIntervalYM)) { return yearToMonth.IsNull ? null : new OracleIntervalYearToMonth(yearToMonth); } if (_valueType == typeof(OracleIntervalDS)) { return dayToSecond.IsNull ? null : new OracleIntervalDayToSecond(dayToSecond); } return null; }