CREATE FUNCTION to_char(n NUMERIC, fmt CHAR)
  RETURNS VARCHAR(255)
BEGIN
  RETURN CAST(n AS CHAR(255));
END

drop function to_char

CREATE FUNCTION to_char(t TIMESTAMP, fmt CHAR)
  RETURNS CHAR
BEGIN

END

CREATE FUNCTION to_number(s CHAR, fmt CHAR, opts CHAR)
  RETURNS DECIMAL
BEGIN
  RETURN CAST(s AS DECIMAL);
END

drop function to_number

CREATE FUNCTION wm_concat(s CHAR)
  RETURNS VARCHAR(2000)
BEGIN
  RETURN GROUP_CONCAT(s);
END

drop function wm_concat