// 获取 DateTimeOffset 类型的 SQL 片断 protected override string GetSqlValueByDateTimeOffset(object value, object dbType, int?precision) { DbTypeUtils.IsDateTimeOffset(dbType); return(null); //string format = "yyyy-MM-dd HH:mm:ss.ffffff"; //_OracleDbType dbTypeInfo = _OracleDbType.Create(dbType); //if (dbTypeInfo != null && dbTypeInfo.IsDateTimeOffset) //{ // string pad = string.Empty; // if (precision != null && precision.Value > 0) pad = "f".PadLeft(precision.Value > 7 ? 7 : precision.Value, 'f'); // if (!string.IsNullOrEmpty(pad)) format = string.Format("yyyy-MM-dd HH:mm:ss.{0}", pad); //} //string date = ((DateTimeOffset)value).DateTime.ToString(format); //string span = ((DateTimeOffset)value).Offset.ToString(@"hh\:mm"); //span = string.Format("{0}{1}", ((DateTimeOffset)value).Offset.Hours >= 0 ? '+' : '-', span); //string result = string.Format("(TIMESTAMP '{0}{1}')", date, span); //return result; //c#中向oracle中操作timestamp 必须间接的转timestamp 进行操作: //SELECT * FROM T_TABLE WHERE createDate Between TO_TIMESTAMP('2015-09-15','yyyy-mm-dd hh24:mi:ss') AND TO_TIMESTAMP('2015-09-25','yyyy-mm-dd hh24:mi:ss') ///或者: //SELECT * FROM T_TABLE WHERE createDate Between TO_TIMESTAMP_TZ('2013-12-09','YYYY-MM-DD HH24:MI:SS.FF TZH:TZM') AND TO_TIMESTAMP_TZ('2015-12-09','YYYY-MM-DD HH24:MI:SS.FF TZH:TZM') }
// 获取 DateTimeOffset 类型的 SQL 片断 protected override string GetSqlValueByDateTimeOffset(object value, object dbType, int?precision) { // 默认精度6 string format = "yyyy-MM-dd HH:mm:ss.ffffff"; if (DbTypeUtils.IsDateTimeOffset(dbType)) { string pad = string.Empty; if (precision != null && precision.Value > 0) { pad = "f".PadLeft(precision.Value > 7 ? 7 : precision.Value, 'f'); } if (!string.IsNullOrEmpty(pad)) { format = string.Format("yyyy-MM-dd HH:mm:ss.{0}", pad); } } string date = ((DateTimeOffset)value).DateTime.ToString(format); string span = ((DateTimeOffset)value).Offset.ToString(@"hh"); span = string.Format("{0}{1}", ((DateTimeOffset)value).Offset.Hours >= 0 ? '+' : '-', span); string result = string.Format("(TIMESTAMPTZ '{0}{1}')", date, span); return(result); // Npgsql 的显示都是以本地时区显示的?### }
// 获取 DateTimeOffset 类型的 SQL 片断 protected override string GetSqlValueByDateTimeOffset(object value, object dbType, int?precision = null) { DbTypeUtils.IsDateTimeOffset(dbType); return(null); }