簡體   English   中英

將MS Access查詢轉換為PostgreSQL查詢(format())

[英]Converting MS Access Queries to PostgreSQL queries (format())

我有一個要在PostgreSQL中執行的MS Access SQL查詢:

SELECT Format("start_date", 'mmmm') AS "Month", 
   DFS_FIRE_ARCHIVE.FIRE_YEAR AS "Year", 
   Count(DFS_FIRE_ARCHIVE.FIRE_ZONE) AS "Number of Fires", 
   OBJECTIVES_NFD."response_category"

FROM (DFS_FIRE_ARCHIVE 

INNER JOIN OBJECTIVE_ORDER ON DFS_FIRE_ARCHIVE.OBJECTIVE = OBJECTIVE_ORDER.OBJECTIVE) 
INNER JOIN OBJECTIVES_NFD ON OBJECTIVE_ORDER.OBJECTIVE = OBJECTIVES_NFD.OBJECTIVE

GROUP BY Format("start_date",'mmmm'), 
     DFS_FIRE_ARCHIVE.FIRE_YEAR, 
     DFS_FIRE_ARCHIVE.OBJECTIVE, 
     Format("start_date",'mm'), 
     OBJECTIVE_ORDER.ORDER, 
     DFS_FIRE_ARCHIVE.FIRE_MGT_ZONE, 
     DFS_FIRE_ARCHIVE.FIRE_TYPE, 
     OBJECTIVES_NFD."response_category"

HAVING (((DFS_FIRE_ARCHIVE.FIRE_YEAR)=2009) AND ((DFS_FIRE_ARCHIVE.FIRE_MGT_ZONE)='INT') AND ((DFS_FIRE_ARCHIVE.FIRE_TYPE)='IFR'))

ORDER BY Format("start_date",'mm'), OBJECTIVE_ORDER.ORDER, DFS_FIRE_ARCHIVE.OBJECTIVE;

The error I am receiving is:

    ERROR:  function format(timestamp without time zone, unknown) does not exist
LINE 1: SELECT Format("start_date", 'mmmm') AS "Month", 
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

任何幫助將不勝感激,謝謝。

您應該將Format替換為的函數可能是to_char ,例如to_char(timestamp, 'MM')

看看PostgreSQL文檔: http : //www.postgresql.org/docs/9.0/static/functions-formatting.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM