Ich weiß, dass es ähnliche Fragen gibt, aber keine davon ist genau das, was ich brauche. Ich habe einen SQL-Sproc, dass ein Teil davon eine Ansicht ausführt. Ich habe 3 Datenbanken, die in Design und Funktion identisch sind, aber die Daten sind unterschiedlich und ich bekomme diesen Fehler nur bei einem von ihnen. Wenn ich die Ansicht von der fehlerhaften DB nehme und sie auf einer der anderen ausführe, läuft es gut. Der seltsamste Teil ist, dass diese Ansicht funktioniert hat, dann gestoppt wurde, sich dann selbst repariert hat und wieder angefangen hat zu arbeiten und als ich begann, Änderungen an einigen Daten vorzunehmen, hörte es wieder auf.Ungültiger Längenparameter an die LINKS- oder SUBSTRING-Funktion übergeben 4
Ich habe es auf diese spezifische Linie heruntergekocht;
Left(AO.Name,PATINDEX('%-%',AO.Name)-1) as ColumnName
Der interessante Teil ist, wenn ich '%-%
ändern '%'
der Fehler geht weg und meine SPROC korrekt ausgeführt werden.
Ich habe fünf Fragen;
, warum ich immer diese Fehlermeldung, wenn ich die
'%-%'
aber nicht'%'
haben? Was ist der Unterschied und welche Art von Veränderung wird gemacht, wenn man einen gegen den anderen benutzt?Was bedeutet dieser Fehler?
Warum sollte dieselbe Ansicht auf zwei anderen identischen Datenbanken richtig funktionieren, aber nicht auf dieser?
Warum hörte das auf zu arbeiten, nachdem es funktioniert hat, dann irgendwie sich selbst reparieren und dann sich selbst wieder brechen nach etwas Datenmanipulation?
Gibt es eine bessere Methode außerhalb von PATINDEX, die ich verwenden könnte?
Jede Hilfe wird geschätzt. Vielen Dank.
ich die SQL Server-Tag hinzugefügt, weil 'PATINDEX()' SQL Server schlägt. –