set(String value) { if (value == null) { setNull(); } else { /* ** Separate explicit timezone. */ if (dbms_type == DBMS_TYPE_TMTZ) { if (value.Length < (SqlDates.T_FMT.Length + SqlDates.TZ_FMT.Length)) { throw SqlEx.get(ERR_GC401B_INVALID_DATE); } int offset = value.Length - SqlDates.TZ_FMT.Length; timezone = value.Substring(offset); value = value.Substring(0, offset); } /* ** Separate fractional seconds. */ if (value.Length > SqlDates.T_FMT.Length) { nanos = SqlDates.parseFrac( value.Substring(SqlDates.T_FMT.Length)); value = value.Substring(0, SqlDates.T_FMT.Length); } setNotNull(); this.value = value; } return; } // set