我有一个非常简单的案例陈述,理论上应该有效,除非我错过了一些完全明显的东西。作为一个小测试,我试图根据另一个单独变量的值打印变量的值(所以现在,没有数据库查询,我只是使用我在语句中放置的基本信息)。 / p>
我已经看了几个关于同一主题的其他SO问题,我跟着他们写了这封信,但是由于某些原因这仍然不起作用。
DECLARE @NEWORGID INT
SET @NEWORGID = 1
DECLARE @BOOKINGID INT
SET @BOOKINGID = 1
DECLARE @ORGANISATIONID INT
SET @ORGANISATIONID = 2
SELECT
CASE
(@NEWORGID) 1
THEN
PRINT @bookingid
ELSE
PRINT @ORGANISATIONID
END
我得到的错误是:
Msg 102, Level 15, State 1, Line 12
Incorrect syntax near '1'.
Msg 102, Level 15, State 1, Line 17
Incorrect syntax near 'END'.
道歉,如果这是一个有点愚蠢的问题,但我真的很想弄清楚这一点。
答案 0 :(得分:4)
试试这个:
DECLARE @NEWORGID INT
SET @NEWORGID = 1
DECLARE @BOOKINGID INT
SET @BOOKINGID = 1
DECLARE @ORGANISATIONID INT
SET @ORGANISATIONID = 2
DECLARE @theID INT
SELECT @theID =
CASE (@NEWORGID) WHEN 1 THEN @bookingid ELSE @ORGANISATIONID END
PRINT @theId
或
PRINT
CASE (@NEWORGID) WHEN 1 THEN @bookingid ELSE @ORGANISATIONID END