我正在尝试编写一个查询以将值插入到timestamp with no timezone data类型字段中.该值来自CSV文件.
我正在使用的版本是PostgreSQL 8.1.21.
CSV文件上载由客户端完成,它有一个日期列.日期有时是格式'28-Sep-13'而有时'28/09/2013'格式.
我尝试使用以下命令将字符串转换为时间戳:
str_date::timestamp.
如果能正常工作str_date是一样的东西'28-Sep-13',但如果输入日期的格式将无法正常工作'28/09/2013',就会出现此错误:
Run Code Online (Sandbox Code Playgroud)ERROR: date/time field value out of range: "28/09/2013" HINT: Perhaps you need a different "datestyle" setting
基本上,客户端不断更改上载的CSV文件中的日期格式.
有没有办法将日期字符串转换为时间戳取决于其实际格式?
postgres我很新.尝试运行以下脚本时出现此错误:
CREATE OR REPLACE FUNCTION xyz(text) RETURNS INTEGER AS
'DECLARE result int;
BEGIN
SELECT count(*) into result from tbldealercommissions
WHERE
txtdealercode = $1;
if result < 1 then returns 1;
else returns 2 ;
end if;
END;
'
LANGUAGE sql VOLATILE;
Run Code Online (Sandbox Code Playgroud)
错误是
ERROR: syntax error at or near "int"
LINE 3: 'DECLARE result int;
Run Code Online (Sandbox Code Playgroud)
不确定导致此错误的原因.任何帮助表示赞赏.