FIX: Create View with Nested SELECT in CASE Causes Error 206

ID: Q156292


The information in this article applies to:

BUG #: 15817 (6.50)

SYMPTOMS

If you create a view with a CASE statement, and one or more of the result expressions is a SELECT statement, the following error may occur:

Msg 206, Level 16, State 2
Operand type clash: UNKNOWN TOKEN is incompatible with varchar


WORKAROUND

Use the CONVERT function to convert the result of the SELECT statement to the same datatype as the other result expressions.


STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.


MORE INFORMATION

The following is an example of a CREATE VIEW command that will cause the error:


   CREATE VIEW select_in_case AS
   SELECT CASE
      WHEN 1=0 THEN "false"
      ELSE (SELECT "true")
      END "result" 

To resolve the error, rewrite the query as:

   CREATE VIEW select_in_case AS
   SELECT CASE
      WHEN 1=0 THEN "false"
      ELSE CONVERT(varchar(255),(SELECT "true"))
      END "result" 


Keywords          : kbusage SSrvErr_Log kbbug6.50 kbfix6.50.sp2 
Version           : 6.5
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: April 2, 1999