Dans ma requête de paramètre facultatif qui utilise l'opérateur LIKE, les caractères spéciaux Escape ne fonctionnent pas. cela fait partie de la requêteEscape ne fonctionne pas avec les paramètres optionnels!
NAME LIKE CASE WHEN '%'[email protected]+'%' IS NULL THEN NAME ELSE '%'[email protected]+'%' END
je pensais que je peux le faire comme
NAME LIKE CASE WHEN '%'[email protected]+'%'ESCAPE '\' IS NULL THEN NAME ELSE '%'[email protected]+'%' END
mais quand j'ajouter échapper « \ », mais il provoque une erreur. toute aide ??
Code Demo:
set @Name='Restaur\[ant'
SELECT [JOB].HOUSE_CODE, [JOB].JOB_CODE, [JOB].OPEN_DATE, [JOB].NAME AS Position, [JOB].DESCRIPTION, [RESTAURANT].ZIP_CODE AS ZipCode,
[STATE].STATE_NAME AS State, [RESTAURANT].CITY_NAME AS City
FROM [JOB] INNER JOIN
[RESTAURANT] ON [JOB].HOUSE_CODE = [RESTAURANT].HOUSE_CODE INNER JOIN
[STATE] ON [RESTAURANT].STATE_CODE = [STATE].STATE_CODE INNER JOIN
[JOB_CODE] ON [JOB].HOUSE_CODE = [JOB_CODE].HOUSE_CODE AND [JOB].JOB_CODE = [JOB_CODE].JOB_CODE AND
[RESTAURANT].HOUSE_CODE = [JOB_CODE].HOUSE_CODE
WHERE ( [JOB].NAME LIKE CASE WHEN '%'[email protected]+'%' IS NULL THEN [JOB].NAME ELSE '%'[email protected]+'%' END ESCAPE '\')
Peut-être que vous écririez juste ce que vous essayez d'accomplir? Il est difficile de répondre à quelque chose qui n'est pas une question. – AlexanderMP
Fournir suffisamment de détails sur le code pour démontrer – mahesh
Quelle erreur lance-t-il? –