【发布时间】:2015-06-26 18:30:21
【问题描述】:
我知道如何使用 postgreSQL 将文本转换为时间戳
SELECT to_timestamp('05 Dec 2000', 'DD Mon YYYY')
但是如何将文本变量(在函数内部)转换为时间戳??
在我的表 (table_ebscb_spa_log04) 中,“时间”是一个字符变化列,我在其中放置了一个格式化的日期时间 (15-11-30 11:59:59.999 PM)。 我已经尝试过这个功能,为了将日期时间文本转换为变量(它总是改变)并将其转换为时间戳......
CREATE OR REPLACE FUNCTION timediff()
RETURNS trigger AS
$BODY$
DECLARE
timeascharvar character varying;
timeastistamp timestamp;
BEGIN
IF NEW.time_type = 'Lap' THEN
SELECT t.time FROM table_ebscb_spa_log04 t INTO timeascharvar;
SELECT to_timestamp('timeascharvar', 'yy-mm-dd HH24:MI:SS.MS') INTO timeastistamp;
END IF;
RETURN timeastistamp;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION timediff()
OWNER TO postgres;
但每当我在表中运行它时,它都会显示此错误消息...
似乎“to_timestamp”等待一个数字成为年份,我怎样才能让它像识别数字一样识别变量?
【问题讨论】:
标签: postgresql function timestamp