Hallo i-Filter in meiner SQL-Prozedur wie diese:IIF in dynamischen, wo Bedingung für Filter in SQL
IF (@LastLoginStartDate IS NOT NULL)
BEGIN
SET @sqlFilters = @sqlFilters + 'AND IIF(DPL.[LastLoginDate]=''0001-01-01 00:00:00.0000000'',''1901-01-01 00:00:00.0000000'',DPL.[LastLoginDate]) >= @LastLoginStartDateUTC ';
END
Aber das gibt mir einen Fehler. Wie kann ich den Wert 1901-01-01 für den Wert 0001-01-01 setzen und mit dem Parameter @LastLoginStartDateUTC vergleichen?
Fehler I erhalten:
Msg 102, Level 15, State 1, Line 115
Incorrect syntax near 'IIF'.
Markieren Sie die DBMS, die Sie verwenden. (Dieser Code ist weit von ANSI SQL ...) – jarlh
Und zeigen Sie die Zeile * wo * der Fehler auftritt. Diese Zeile sieht vernünftig aus, also verdoppele ich den Fehler dort. –
Dieser Code löst ganz andere Fehler aus. Sie sollten einen Code posten, der Ihren Fehler reproduziert. Ich nehme an, Sie haben einige verrückte dynamische SQL und Sie haben ein zu wenig oder zu viele Symbole. Oder ... Ihre Kompatibilitätsstufe ist möglicherweise nicht SQL 2012. Führen Sie Folgendes aus, um Folgendes herauszufinden: 'SELECT name, compatibility_level FROM sys.databases'. Für 2012 (um 'IIF' zu verwenden) sollte Ihre Datenbank 110 oder höher sein. –