RE: datetime fields
Posted in 1997
> From: Silvester_Valiente@tnt.com.au > Has anyone had any experience converting a datetime field that is stored in the > syscolumns table to human readable form. > > ie in syscolumns the collength field stores the length of column. For > a datetime, > this value is coded. For instance a datetime of year to minutes equals 3080. > > I am trying to write a utility that will convert this value back to the text of > year to minutes. Sure (code snipped out of my dbchema app): LET f_datetime_text = number_to_date((f_col_length MOD 256) / 16) CLIPPED, " to ", number_to_date(f_col_length MOD 16) With the number_to_date function including: CASE f_number WHEN m_YEAR LET f_text_field = "year" WHEN m_MONTH LET f_text_field = "month" WHEN m_DAY LET f_text_field = "day" WHEN m_HOUR LET f_text_field = "hour" WHEN m_MINUTE LET f_text_field = "minute" WHEN m_SECOND LET f_text_field = "second" WHEN m_FRAC_1 LET f_text_field = "fraction(1)" WHEN m_FRAC_2 LET f_text_field = "fraction(2)" WHEN m_FRAC_3 LET f_text_field = "fraction(3)" WHEN m_FRAC_4 LET f_text_field = "fraction(4)" WHEN m_FRAC_5 LET f_text_field = "fraction(5)" OTHERWISE LET f_text_field = "UNKNOWN" END CASE And the constants: LET m_YEAR = 0 LET m_MONTH = 2 LET m_DAY = 4 LET m_HOUR = 6 LET m_MINUTE = 8 LET m_SECOND = 10 LET m_FRAC_1 = 11 LET m_FRAC_2 = 12 LET m_FRAC_3 = 13 LET m_FRAC_4 = 14 LET m_FRAC_5 = 15 HTH -Richard