I want to change the db2 to postgres . it has DB2 function named FORMATDATE. I do not know how to do the same thing in the postgers
I tried several times to create it used postgres . it's not working/..
DB2:
CREATE FUNCTION test.FORMATDATE(dateString CHAR(128), timeString VARCHAR(8))
RETURNS TIMESTAMP(6)
SPECIFIC FORMATDATE
DETERMINISTIC
LANGUAGE SQL
CONTAINS SQL
BEGIN ATOMIC
DECLARE tmpDateStr VARCHAR(128);--
DECLARE ret TIMESTAMP(6);--
DECLARE year VARCHAR(4);--
DECLARE month VARCHAR(2);--
DECLARE day VARCHAR(2);--
SET tmpDateStr = TRIM(REPLACE(REPLACE(dateString,'-',''),'/',''));--
IF (LENGTH(tmpDateStr) = 6 AND INTEGER(LEFT(tmpDateStr,2)) >= 70 ) THEN
SET tmpDateStr = '19' || tmpDateStr;--
END IF;--
IF (LENGTH(tmpDateStr) = 6 AND INTEGER(LEFT(tmpDateStr,2)) < 70 ) THEN
SET tmpDateStr = '20' || tmpDateStr;--
END IF;--
IF (LENGTH(tmpDateStr) != 8) THEN
RETURN TIMESTAMP('1970-01-01 00:00:00.000000');--
END IF;--
SET year = LEFT(tmpDateStr,4);--
SET month = SUBSTR(tmpDateStr,5,2);--
SET day = RIGHT(tmpDateStr,2);--
set ret = TIMESTAMP(year || '-' || month || '-' || day || ' ' || timeString ||'.000000');--
RETURN ret;--
END
It's there any better way to do it in postgres function ??
formatdatefunction do? I can't find it in the DB2 documentation. Closest I found is this (see 02760). That'sformatdate(pattern, date)which doesn't seem to match what you're doing.