Knowledge Base

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

Article ID: 156292

Article Last Modified on 10/3/2003


APPLIES TO


This article was previously published under Q156292
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: kbbug kbfix kbusage KB156292