T-SQL-Zeichenfolgenfunktionen: Unterschied zwischen der Verwendung von Left / Right und Substring und seltsames Verhalten

Ich verwende SQL Server 2008 und 2005 (Express). Ich versuche, einen Teil einer alphanumerischen Zeichenfolge aus einem varchar-Feld zu extrahieren.

RIGHT(str_field, 3) ergibt Nullwerte aberSUBSTRING(str_field, LEN(str_field)-2, LEN(str_field)) gibt den richtigen Wert an.LEFT(str_field, 7) gibt die erwarteten Werte an. Was gibt

Ich hätte gedacht, dassRIGHT(str_field, 3) undSUBSTRING(str_field, LEN(str_field)-2, LEN(str_field)) sind äquivalente Ausdrücke.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage