आप इस तरह एक वैरिएबल असाइन नहीं कर सकते हैं। इसके अलावा, क्या बात है? आप उस चर का उपयोग कहां कर रहे हैं? बस set @MYYEAR =
को हटा दें और आपको ठीक होना चाहिए। यदि आप वास्तव में उस वेरिएबल को उस तर्क के साथ असाइन करना चाहते हैं, तो इसे अपने मुख्य SELECT
. के बाहर करें बयान।
declare @MYYEAR int
set @MYYEAR =
(SELECT
CASE
WHEN CONVERT(INTEGER,BTHDAT) = 0 THEN 0
WHEN datepart(DY,convert(date, BTHDAT)) > datepart(DY,'2015/07/01') THEN DATEDIFF(YEAR, convert(date, BTHDAT),'2015/07/01') - 1
ELSE DATEDIFF(YEAR,convert(date, BTHDAT),'2015/07/01')
END
FROM SomeTable)
SELECT
SERVICE_GROUP,
SERVICE_CATEGORY,
@MYYEAR
FROM
SomeOtherTable