tabs ↹ over ␣ ␣ ␣ spaces

by Jiří {x2} Činčura

TIMESTAMP to STRING + ořez na Firebirdu/InterBase

21 Dec 2005 1 mins Firebird

Nedávno se v diskuzi objevil dotaz, jak překlopit datum a čas na string, a zároveň část uříznout (konec – setiny, vteřiny, atp.). Vzpomněl jsem si na trik Ivana Přenosila s přiřazením a vyjímkou. Stačilo tedy napsat proceduru:

SET TERM ^ ;
CREATE PROCEDURE TRUNCDATE (DATETIME VARCHAR(24))
RETURNS (RESULT VARCHAR(16))
AS
BEGIN
  result = '';
  result = datetime; --error, but the truncated value is assigned (I. Prenosil's tip)
  WHEN ANY DO EXIT; --catch error
END^
SET TERM ; ^

A bylo po problému. takto můžu ořezat co se mi zachce a jak se mi zachce. Stačí vyzkoušet:

execute procedure TruncDate(current_timestamp);

Profile Picture Jiří Činčura is .NET, C# and Firebird expert. He focuses on data and business layers, language constructs, parallelism, databases and performance. For almost two decades he contributes to open-source, i.e. FirebirdClient. He works as a senior software engineer for Microsoft. Frequent speaker and blogger at www.tabsoverspaces.com.