Ich versuche, mein Lieferdatum in verschiedene Komponenten aufzuteilen, damit ich es so abfragen kann, wie ich es brauche. Ich verwende den folgenden Code in meiner Oracle-Abfrage:Tag des Monats von DateField in Oracle
EXTRACT (DAY FROM "AR_TRX_HEADER"."SHIPDATETIME") AS DofM,
EXTRACT (YEAR FROM(ADD_MONTHS ("AR_TRX_HEADER"."SHIPDATETIME", 1))) AS FY,
ich das Jahr in Ordnung bin ziehen, aber ich erhalte eine Fehlermeldung jedes Mal, wenn ich versuche, den Tag zu ziehen. Es sagt mir, dass mir eine rechte Klammer fehlt. Irgendwelche Ideen?
Jede Hilfe wäre willkommen. Vielen Dank!
Hier ist die gesamte Abfrage (Sie werden in dieser Abfrage sehen, dass ich das DayOfMonth als Zeichenfeld gezogen habe - ich schreibe es jetzt um und versuche, es als eine Zahl zu bekommen. Ich habe gerade den Extrahierungsmonat geändert dass und es funktioniert gut ich auf dem Quartal neben arbeiten werde.):.
SELECT
"AR_PRODUCT_VIEW"."CUSTID" || ' - ' || "AR_PRODUCT_VIEW"."CUSTNAME" AS Customer,
"AR_PRODUCT_VIEW"."PRODUCTID" || ' - ' || "AR_PRODUCT_VIEW"."PRODUCTDESCR" AS Product,
SUM("AR_PRODUCT_VIEW"."QNT1") AS Gallons,
TO_CHAR("AR_TRX_HEADER"."SHIPDATETIME",'MON') AS MonthName,
TO_CHAR("AR_TRX_HEADER"."SHIPDATETIME",'DD') AS DayOfMonth,
EXTRACT (YEAR FROM(ADD_MONTHS ("AR_TRX_HEADER"."SHIPDATETIME", 1))) AS FY,
EXTRACT (MONTH FROM(ADD_MONTHS ("AR_TRX_HEADER"."SHIPDATETIME", 1))) AS FM,
TO_CHAR(ADD_MONTHS ("AR_TRX_HEADER"."SHIPDATETIME",1),'Q') AS FQ,
floor(
(
trunc("AR_TRX_HEADER"."SHIPDATETIME") -
case
-- if December is current month, than use 1st of this month
when to_char("AR_TRX_HEADER"."SHIPDATETIME", 'MM') = 12 then trunc("AR_TRX_HEADER"."SHIPDATETIME", 'MM')
-- else, use 1st December of previous year
else add_months(trunc("AR_TRX_HEADER"."SHIPDATETIME", 'YYYY'), -1)
end
)/7
) + 1
AS FW,
"FC_NAME"."LASTCONAME" AS SalesPerson ,
"AR_PRODUCT_VIEW"."SONO" AS InvoiceNumber,
TO_CHAR("AR_TRX_HEADER"."SHIPDATETIME",'mm/dd/yyyy') AS InvoiceDate,
"AR_PRODUCT_VIEW"."COMMODITY" AS ProductCategory
FROM "AR_PRODUCT_VIEW",
"AR_TRX_LINE",
"AR_TRX_HEADER",
"AR_CUST",
"FC_NAME"
WHERE ("AR_TRX_LINE"."ARTRXHDRIDX" = "AR_TRX_HEADER"."ARTRXHDRIDX") and
("AR_PRODUCT_VIEW"."ARTRXLINESEQ" = "AR_TRX_LINE"."ARTRXLINESEQ") and
("AR_PRODUCT_VIEW"."ARTRXHDRIDX" = "AR_TRX_LINE"."ARTRXHDRIDX") and
("AR_PRODUCT_VIEW"."ARTRXLINETRXTYPE" = "AR_TRX_LINE"."ARTRXLINETRXTYPE") and
("AR_PRODUCT_VIEW"."CUSTNAMEIDX" = "AR_CUST"."CUSTNAMEIDX") and
("AR_CUST"."SALESPERSONNAMEIDX" = "FC_NAME"."NAMEIDX")
GROUP BY "AR_PRODUCT_VIEW"."PRODUCTDESCR",
"AR_PRODUCT_VIEW"."CUSTNAME",
"AR_PRODUCT_VIEW"."PRODUCTID",
"AR_PRODUCT_VIEW"."CUSTID",
"AR_PRODUCT_VIEW"."COMMODITY",
"AR_PRODUCT_VIEW"."PSSIZE",
"AR_PRODUCT_VIEW"."UOM",
"AR_PRODUCT_VIEW"."QNTTITLE",
"AR_PRODUCT_VIEW"."AMTTITLE",
"AR_PRODUCT_VIEW"."SONO",
"AR_TRX_HEADER"."SHIPDATETIME",
"AR_TRX_HEADER"."SODATETIME",
"AR_PRODUCT_VIEW"."SALESPERSON",
"FC_NAME"."LASTCONAME"
ORDER BY "AR_TRX_HEADER"."SHIPDATETIME" ASC,
"AR_PRODUCT_VIEW"."SONO" ASC
Bitte bearbeiten Sie Ihre Frage und fügen Sie die gesamte Abfrage ein. Vielen Dank. –
Können Sie diese zwei Datumsauswahlspalte entfernen und die Abfrage ausführen. – Prathyush
Es tut mir leid, ich verstehe nicht, was Sie tun sollen. – Jeff