Évaluer une expression textuelle
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 :
Code:
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 |
Resultat obtenu: 1
Par contre, je souhaite évaluer une expression semblable à celle-ci :
Code:
DECLARE @expression NVARCHAR(100); SET @expression = '((1 | 0) & (2 < 3))';
OU
Code:
DECLARE @expression NVARCHAR(100); SET @expression = '((1 OR 0) AND (2 < 3))';
Mais ça ne fonctionne pas. Quelqu'un a une suggestion ?
Pascal