Bonjour,
Je cherche une façon d'évaluer si une expression dans un variable de type NVARCHAR est vraie ou fausse.
Lorsque c'est une expression booléenne, le méthode suivante fonctionne très bien :
Resultat obtenu: 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DECLARE @expression NVARCHAR(100); SET @expression = '((1 | 0))'; DECLARE @Result INT; IF OBJECT_ID('tempdb..#MyTableTemp') IS NOT NULL DROP TABLE #MyTableTemp CREATE TABLE #MyTableTemp (result INT) EXEC('INSERT INTO #MyTableTemp SELECT ' + @expression ) SET @Result = (SELECT TOP 1 result FROM #MyTableTemp) DROP TABLE #MyTableTemp PRINT @Result
Par contre, je souhaite évaluer une expression semblable à celle-ci :
OU
Code : Sélectionner tout - Visualiser dans une fenêtre à part DECLARE @expression NVARCHAR(100); SET @expression = '((1 | 0) & (2 < 3))';
Mais ça ne fonctionne pas. Quelqu'un a une suggestion ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part DECLARE @expression NVARCHAR(100); SET @expression = '((1 OR 0) AND (2 < 3))';
Pascal
Partager