Equivalent de double est égal à SQL Server?

J'essaie d'écrire une instruction SQL-Server CASE un peu plus complexe:

... and (@StatusID is null or (case when @StatusID = 0 and sr.Comment is not null else @StatusID == sr.StatusID end) = 1) and ... 

mais je reçois une erreur avec le double signe égal. J'ai aussi essayé ça

 else @StatusID = sr.StatusID then 1 

et

 else @StatusID is sr.StatusID 

Je n'ai pas pu find d'informations sur ce que j'essaie de faire est possible sur SQL-Server.

Vous pouvez chercher ceci

 and (@StatusID is null or 1 = (CASE WHEN @StatusID = 0 AND sr.Comment IS NOT NULL THEN 1 WHEN @StatusID = sr.StatusID THEN 1 end) ) 

CASE WHEN <EXPRESSION> THEN ... ELSE ... END Est la syntaxe que vous souhaitez. Vous venez d'oublier le THEN . De même, le signe égal unique est la syntaxe SQL correcte.

Cette question et réponse pourrait vous aider.

Une façon de réaliser une telle comparaison consiste à convertir le double en string et à les comparer, par exemple:

 -- select ids (double) that start with '1' by casting them to varchar and using LIKE SELECT * FROM MyTable WHERE CAST(Id AS VARCHAR) LIKE '1%';