Hi OC, The easiest way to get a date a YYYYMMDD is this:
CAST(EXTRACT(year FROM "dateColumn") * 10000 + EXTRACT(month FROM "dateColumn") * 100 + EXTRACT(day FROM "dateColumn") as CHAR(8)) A more flexible way is to create a function (you can adjust the format): create function formatDateOC(IN :"date" Timestamp) returns VARCHAR(20) begin declare "month" VARCHAR(20); declare "day" VARCHAR(20); set :"month" = CAST(EXTRACT(month FROM :"date") as VARCHAR(20)); set :"day" = CAST(EXTRACT(day FROM :"date") as VARCHAR(20)); if (char_length(:"month") = 1) then set :"month" = '0' || :"month"; END IF; if (char_length(:"day") = 1) then set :"day" = '0' || :"month"; END IF; return CAST(EXTRACT(year FROM :"date") as VARCHAR(4)) || :"month" || :"day"; end To test it: values formatDateOC(cast(current_timestamp as timestamp)) Replace the argument by any timestamp value or column name that contains a timestamp. Samuel > Le 11 mars 2016 à 17:57, OC <o...@ocs.cz> a écrit : > > Well... > > On 11. 3. 2016, at 22:06, OC <o...@ocs.cz> wrote: > >> Still, it can be solvable (perhaps even easily) >> >> (a) in standard SQL92 which I don't know well enough >> (b) in some FrontBase-specific extension >> >> which is why I am asking. > > ... without better knowledge the SQL used to derive the attribute looks like > this. Yes, it is _terribly_ ugly, but I can't see how to simplify it whilst > keeping the functionality. I would appreaciate if anybody sees and advices > how to simplify this brute, especially if there's a way to get rid of the > repeated nested SELECTs: > > === > CASE > WHEN ( SELECT C_SHORTCUT FROM T_MARKET WHERE T_MARKET.C_UID = C_MARKET_ID ) > IS NULL > THEN > 'Market(' || > CAST(C_MARKET_ID as VARCHAR(18)) || > ')' > ELSE ( SELECT C_SHORTCUT FROM T_MARKET WHERE T_MARKET.C_UID = C_MARKET_ID ) > END || > '-' || > CASE > WHEN ( SELECT C_START_DATE FROM T_TIME_CHUNK WHERE T_TIME_CHUNK.C_UID = > C_TIME_CHUNK_UID ) IS NULL THEN '0' > ELSE > CAST(EXTRACT(year FROM ( SELECT C_START_DATE FROM T_TIME_CHUNK WHERE > T_TIME_CHUNK.C_UID = C_TIME_CHUNK_UID )) AS VARCHAR(4)) || > CASE > WHEN EXTRACT(month FROM ( SELECT C_START_DATE FROM T_TIME_CHUNK WHERE > T_TIME_CHUNK.C_UID = C_TIME_CHUNK_UID ))<10 THEN '0' > ELSE '' > END || > CAST(EXTRACT(month FROM ( SELECT C_START_DATE FROM T_TIME_CHUNK WHERE > T_TIME_CHUNK.C_UID = C_TIME_CHUNK_UID )) AS VARCHAR(2)) || > CASE > WHEN EXTRACT(day FROM ( SELECT C_START_DATE FROM T_TIME_CHUNK WHERE > T_TIME_CHUNK.C_UID = C_TIME_CHUNK_UID ))<10 THEN '0' > ELSE '' > END || > CAST(EXTRACT(day FROM ( SELECT C_START_DATE FROM T_TIME_CHUNK WHERE > T_TIME_CHUNK.C_UID = C_TIME_CHUNK_UID )) AS VARCHAR(2)) > END || > '-' || > CAST(C_AUCTION_SEQ as VARCHAR(18)) > === > > Thanks and all the best, > OC > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/samuel%40samkar.com > > This email sent to sam...@samkar.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com