Beispiel #1
0
        // 获取 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')
        }
Beispiel #2
0
        // 获取 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 的显示都是以本地时区显示的?###
        }
Beispiel #3
0
 // 获取 DateTimeOffset 类型的 SQL 片断
 protected override string GetSqlValueByDateTimeOffset(object value, object dbType, int?precision = null)
 {
     DbTypeUtils.IsDateTimeOffset(dbType);
     return(null);
 }