2009-12-28 10 views
22

टी-एसक्यूएल में एकाधिक तर्कों के साथ मैं एक आईएफ कथन कैसे लिखूं?एकाधिक तर्क IF कथन - टी-एसक्यूएल

वर्तमान स्रोत त्रुटि:

DECLARE @StartDate AS DATETIME 
DECLARE @EndDate AS DATETIME 

SET @StartDate = NULL 
SET @EndDate = NULL 

IF (@StartDate IS NOT NULL AND @EndDate IS NOT NULL) 
    BEGIN 
     -- do some work 
    END 

यह निम्न त्रुटि फेंकता है:

Incorrect syntax near the keyword 'AND'. Incorrect syntax near the keyword 'AND'. Incorrect syntax near ')'.

+1

मेरी मशीन पर काम करता है? मुझे लगता है कि त्रुटि आपके 'BEGIN' और' END' के बीच हो सकती है। या, यदि आपके पास 'BEGIN' और' END' के बीच कुछ भी नहीं है, तो यह समस्या होगी। इनपुट के लिए – Aaronaught

+0

धन्यवाद। यह 'कुछ काम' अनुभाग था जो इस मुद्दे का कारण बन रहा था। मैं एक गतिशील एसक्यूएल कथन बना रहा हूँ ... उह! –

उत्तर

38

आप क्या कर रहे हैं यह सही। खाली कोड ब्लॉक क्या खड़ी कर रहा है है आपकी समस्या। यह हालत संरचना नहीं है :)

DECLARE @StartDate AS DATETIME 

DECLARE @EndDate AS DATETIME 

SET @StartDate = NULL 
SET @EndDate = NULL 

IF (@StartDate IS NOT NULL AND @EndDate IS NOT NULL) 
    BEGIN 
     print 'yoyoyo' 
    END 

IF (@StartDate IS NULL AND @EndDate IS NULL AND 1=1 AND 2=2) 
    BEGIN 
     print 'Oh hey there' 
    END 
1

रास्ता जटिल बूलियन भाव पैदा करने के लिए है कि: उन लोगों के साथ AND और OR गठबंधन। आपके द्वारा पोस्ट किया गया स्निपेट आईएफ के लिए कोई त्रुटि नहीं फेंकता है।

1

ठीक काम करने लगता है।

आप एक खाली शुरू ... अंत ब्लॉक है, तो आप देख सकते हैं

Msg 102, Level 15, State 1, Line 10 Incorrect syntax near 'END'.

1

सुनिश्चित नहीं हैं कि समस्या क्या है, यह सिर्फ अच्छा काम करने लगता है?

DECLARE @StartDate AS DATETIME 
DECLARE @EndDate AS DATETIME 

SET @StartDate = NULL 
SET @EndDate = NULL 

IF (@StartDate IS NOT NULL AND @EndDate IS NOT NULL) 
    BEGIN 
     Select 'This works just fine' as Msg 
    END 
Else 
    BEGIN 
    Select 'No Lol' as Msg 
    END 
1

आपका कोड मान्य है (एक अपवाद के साथ)। BEGIN और END के बीच कोड होना आवश्यक है।

बदलें

--do some work 

print '' 

साथ

मैं शायद लगता है कि आप देखा "अंत और नहीं" और "

संबंधित मुद्दे