Postgresql 转换为Postgres函数
我正在将我的SQL存储过程转换为Postgres函数,但这会导致以下语句之一出现错误: 错误:在或附近出现语法错误, 第7行:CASTtime0,'00:00'+小时*间隔'1小时。。。 ^ 下面是我正在转换的Postgres函数和SQL存储过程。请告诉我哪里出错了 创建或替换函数shiftwi\u spINOut shift\u id bigint、InOut userdate date、OUT shift\u name variable 50、OUT from\u time character varying50、OUT to\u time character varying50、OUT cal bigint 将记录集返回为 $BODY$ 开始 返回查询 选择userdate,s.shift\u name, CASTtime0,'00:00'+小时*间隔'1小时', CASTtime0,'00:00'+h.hour+1*时间间隔'1Hour', 聚结器读数,0为读数 从shift_-wise s 交叉连接值0、1、2、3、4、5、6、7、8、9、, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20、21、22、23岁时 外部应用选择SUMr.param_值作为读数 来自表1 r 其中r.timestamp_col>=CASTuserdate作为不带时区的时间戳+h.hour*间隔“1Hour” r.timestamp_colPostgresql 转换为Postgres函数,postgresql,Postgresql,我正在将我的SQL存储过程转换为Postgres函数,但这会导致以下语句之一出现错误: 错误:在或附近出现语法错误, 第7行:CASTtime0,'00:00'+小时*间隔'1小时。。。 ^ 下面是我正在转换的Postgres函数和SQL存储过程。请告诉我哪里出错了 创建或替换函数shiftwi\u spINOut shift\u id bigint、InOut userdate date、OUT shift\u name variable 50、OUT from\u time charact
语言plpgsql VOLATILE这不是Postgresql中CAST的工作方式。看 如果您不介意使用非标准::符号,那么最容易阅读IMHO。最后, 将SQL SP转换为Postgres函数,得到了预期的结果 创建或替换函数shiftwi\u spIN shiftid bigint、INOUT userdate date、OUT shift\u name字符变化、OUT from\u time(不带时区)、OUT to\u time(不带时区)、OUT reads bigint 将记录集返回为 $BODY$ 开始 返回查询 选择userdate,s.shift\u name, “00:00”+h.hour*间隔“1Hour”::从_time开始的时间, “00:00”+h.hour+1*间隔“1Hour”::与时间相关的时间, 聚结器读数,0为读数 从shift_-wise s 交叉连接值0、1、2、3、4、5、6、7、8、9、, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20、21、22、23岁时 左连接横向选择CASTSUMr.param_值作为bigint作为读数 来自表1 r 其中r.timestamp_col>=CAStuserdate作为不带时区的时间戳+h.hour*间隔“1Hour” 和r.timestamp_col
语言plpgsql VOLATILECAST'00:00'+h.hour*interval'1Hour'作为时间戳,不带时区,从\u time开始这就是我修改的方式,对吗?这看起来很适合作为便携式解决方案。我会让你决定你是否想要一个时间,时间戳等等,外部应用的安装我使用的是left join latreal是postgres,但这会导致错误,其中s.shift\u id=shiftid下面是我正在写入的内容,left join横向选择SUMr.param\u值作为表中的读数,其中r.timestamp\u col>=CASTuserdate作为时间戳,没有时区+h*间隔“1Hour”和r.timestamp\u col
('00:00' + (h.hour * interval '1Hour'))::time