如何将文本变量转换为 postgreSQL 中的时间戳?

How to convert a text variable into a timestamp in postgreSQL?

我知道如何使用

在 postgreSQL 中将文本转换为时间戳
SELECT to_timestamp('05 Dec 2000', 'DD Mon YYYY')

但是如何将文本变量(在函数内)转换为时间戳?

在我的 table (table_ebscb_spa_log04) "time" 是一个字符变化的列,我在其中放置了一个格式化的日期时间 (15-11-30 11:59:59 .999 点)。 我试过这个函数,为了将日期时间文本转换成一个变量(它总是改变)并将它转换成时间戳...

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;

但每当我在 table 中 运行 它时,它都会显示此错误消息...

似乎 "to_timestamp" 等待数字是年份,我怎样才能让它像识别数字一样识别变量?

to_timestamp 的第一个参数应该是您的变量,而不是包含变量名称的字符串:

to_timestamp(timeascharvar, 'yy-mm-dd HH24:MI:SS.MS')