qbjgqbjg
asked on
sql cast syntax
I am getting an error I have not been able to figure out.
Server: Msg 1035, Level 15, State 10, Line 54
Incorrect syntax near 'CAST', expected 'AS'.
Server: Msg 1035, Level 15, State 10, Line 54
Incorrect syntax near 'CAST', expected 'AS'.
DECLARE @Today DATETIME
SET @Today = GETDATE()
DECLARE @fiscalYr NUMERIC
SET @fiscalYr =
case
when MONTH(@Today) >= 11 then Year(@Today) + 1
else Year(@Today)
end
DECLARE @period NUMERIC
SET @period =
case
when MONTH(@Today) >= 11 then MONTH(@Today) - 10
else Month(@Today)+ 2
end
DECLARE @FYR varchar
SET @FYR = cast(@fiscalYr as varchar(4))
DECLARE @PER varchar
SET @PER = cast(@period as varchar(2))
insert into dbo.EDCOGMATUS
select
DOCSRC,
REFNO,
DOCDESC,
DOCGRP,
FSCYR,
DOCDATE,
DOCPER,
AUTOREV,
SUMM,
ACCTTYP,
ACCTNO,
DETDESC,
SUM(TRAN_AMOUNT) AS AMOUNT,
DBCR,
SUMMACCT,
JCGRTYP,
PANO,
LFCHAR
FROM
(
SELECT
'je_import ' as DOCSRC,
Substring(PA30101.PAPROJNUMBER + space(9), 1, 9) as REFNO,
substring('Cogsdale Labor Usage' +
space(40), 1,40) as DOCDESC,
'COGLABUSED' as DOCGRP,
/* --------fiscal year case begin---------------- */
case
when month(PA30100.PAPD) >= '10'
then
CAST(YEAR(PA30100.PAPD) + 1) AS varCHAR(4)
else
CAST(YEAR(PA30100.PAPD)) AS varCHAR(4)
end as FSCYR,
/* ------------------case end---------------- */
Right('0' + CAST(MONTH(@Today) AS varCHAR(2)),2) +
Right('0' + CAST(DAY(@Today) AS varCHAR(2)),2) +
CAST(YEAR(@Today) AS varCHAR(4)) as DOCDATE,
/* --------fiscal period case begin---------------- */
case
when month(PA30100.PAPD) >= '10'
then
CASTmonth(PA30100.PAPD) - 9 AS varCHAR(2)
else
CASTmonth(PA30100.PAPD) + 3 AS varCHAR(2)
end as DOCPER,
/* ------------------case end---------------- */
'N' as AUTOREV,
'Y' as SUMM,
'B' as ACCTTYP,
'457-381-33200' as ACCTNO,
substring(GL00100.ACTALIAS + space(30), 1, 30) as DETDESC,
PA30103.DEBITAMT - PA30103.CRDTAMT AS TRAN_AMOUNT,
'C' as DBCR,
' ' as SUMMACCT,
' ' as JCGRTYP,
space(32) as PANO,
'Ž' as LFCHAR
FROM
PA30101 PA30101
LEFT OUTER JOIN PA30100 PA30100
ON PA30101.PATSNO=PA30100.PATSNO
AND PA30101.EMPLOYID=PA30100.EMPLOYID
LEFT JOIN PA01201 PA01201
ON PA30101.PAPROJNUMBER=PA01201.PAPROJNUMBER
LEFT OUTER JOIN PA30103 PA30103
ON PA30101.PATSNO=PA30103.PATSNO
INNER JOIN GL00100 GL00100
ON PA30103.DSTINDX=GL00100.ACTINDX
WHERE GL00100.ACTALIAS LIKE '33%'
AND FISCYR=@FYR
AND DOCPER = @PER
) x
GROUP BY
DOCSRC,
REFNO,
DOCDESC,
DOCGRP,
FSCYR,
DOCDATE,
DOCPER,
AUTOREV,
SUMM,
ACCTTYP,
ACCTNO,
DETDESC,
DBCR,
SUMMACCT,
JCGRTYP,
PANO,
LFCHAR
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks. I appreciate it.
CAST( {expr} AS {type} )
not
CAST( {expr} ) AS {type}