Determinismus von CHARINDEX und PATINDEX

By Frank Kalis

Posted on Aug 12, 2004 von in SQL Server

In BOL werden CHARINDEX() und PATINDEX() als nichtdeterministische Stringfunktionen aufgelistet. Warum eigentlich? Man sollte meinen, das ceteris paribus auch bei diesen Funktionen stets ein identisches Ergebnis herauskommt. Richtig, und gleichzeitig nicht! Der Grund, warum beide Funktionen als nichtdeterministisch geführt werden, findet sich dann in den Erklärungen zu PATINDEX():

[...]

Wenn pattern oder expression gleich NULL ist, gibt PATINDEX den Wert NULL zurück, wenn der Kompatibilitätsgrad der Datenbank 70 ist. Ist der Kompatibilitätsgrad der Datenbank 65 oder niedriger, gibt PATINDEX nur dann NULL zurück, wenn sowohl pattern als auch expression gleich NULL sind.

[...]

Tags: Tags:
Dieser Eintrag wurde eingetragen von und ist abgelegt unter SQL Server. Tags: , ,

Noch kein Feedback


Formular wird geladen...