Postgres函数从日期获取星期开始日期不起作用

时间:2019-09-26 15:28:31

标签: sql postgresql

我编写了以下函数,只是为了从给定日期获取一周的开始日期,但我只是遇到错误

  

函数get_week_start_from_date(带时区的时间戳)不   存在

当我运行以下命令时:

CREATE OR REPLACE FUNCTION get_week_start_from_date(sourceDate timestamp) RETURNS char
  AS $$ SELECT CONCAT(
    'w/b ', 
    TO_CHAR(
      TO_DATE(
        CONCAT(
          EXTRACT('YEAR' FROM sourceDate), EXTRACT('WEEK' FROM sourceDate)
        ), 
        'iyyyiw'
      ), 
      'Dy DDth Mon ''YY'
    )
  ) $$ 
  LANGUAGE SQL
  IMMUTABLE
  RETURNS NULL ON NULL INPUT;

SELECT get_week_start_from_date(NOW());

我已经测试了函数的实际内部结构,并且确实在函数外部运行(如果我用NOW()代替sourceDate)。我还测试了函数语法,这似乎也没问题。努力找出问题所在或得到更好的错误

0 个答案:

没有答案
相关问题