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.