Ich habe eine Abfrage wie folgt aus:CASE WHEN mit AND-Anweisung in SQL
SELECT
CASE
WHEN (CONVERT(INT, (datepart(DD, A.CIDATE))) AND Year(getDate()) = 2016) <= 15
THEN CONVERT(INT,(datepart(MM,A.CIDATE)))
WHEN CONVERT(INT, (datepart(DD, A.CIDATE))) > 15
THEN CONVERT(INT, (datepart(MM, A.CIDATE))) + 1
ELSE 0
END AS MASA_PAJAK
FROM
V_CLAIM_INTERNAL A
Es funktioniert, aber wenn ich hinzufügen und Jahr (getDate()) = 2016 es wirft einen Fehler:
Msg 4145, Level 15, State 1, Line 1
An expression of non-boolean type specified in a context where a condition is expected, near 'AND'.
Ich versuche, auch konvertieren, aber immer noch den gleichen Fehler.
SELECT
CASE
WHEN ((CONVERT(INT, (datepart(DD, A.CIDATE))) AND (convert(int, Year(getDate()) = 2016))) <= 15
THEN CONVERT(INT, (datepart(MM, A.CIDATE)))
WHEN CONVERT(INT, (datepart(DD, A.CIDATE))) > 15
THEN CONVERT(INT, (datepart(MM, A.CIDATE))) + 1
ELSE 0
END AS MASA_PAJAK
FROM
V_CLAIM_INTERNAL A
Was ist mein Fehler bei der Abfrage:?
es ist Arbeit .. vielen Dank .. Danke auch für deine Erklärung :) –