Steuert das Verhalten der Funktion SUBSTRING (SUBSTR), wenn negative Werte für die Start- oder Längenparameter angegeben werden
Off, On
On
Kann für eine einzelne Verbindung oder die Gruppe PUBLIC angegeben werden. Wird sofort wirksam.
Wenn die Option ansi_substring auf "On" gesetzt ist, entspricht das Verhalten der Funktion SUBSTRING dem ANSI/ISO SQL/2003-Verhalten. Ein negatives oder Null-Start-Offset wird behandelt, als ob die Zeichenfolge links mit Nicht-Zeichen aufgefüllt ist, und gibt einen Fehler aus, wenn eine negative Länge angegeben ist.
Wenn diese Option auf "Off" gesetzt ist, ist das Verhalten der Funktion SUBSTRING dasselbe wie in früheren Versionen von SQL Anywhere: Ein negatives Start-Offset bedeutet ein Offset vom Ende der Zeichenfolge aus, und eine negative Länge bedeutet, dass die gewünschte Teilkette Länge-Zeichen links vom Start-Offset endet. Überdies entspricht ein Start-Offest von "0" einem Start-Offset von "1".
Die Einstellung dieser Option wirkt sich nicht auf das Verhalten der Funktion BYTE_SUBSTR aus. Es wird empfohlen, dass Sie die Verwendung von nicht-positiven Start-Offsets oder negativen Längen mit der Funktion SUBSTRING vermeiden. Wo immer möglich sollten Sie stattdessen die Funktionen LEFT oder RIGHT verwenden.
Die folgenden Beispiele zeigen, basierend auf der Option ansi_substring, die Unterschiede bei den von der Funktion SUBSTRING zurückgegebenen Werten.
SUBSTRING( 'abcdefgh',-2,4 ); ansi_substring = Off ==> 'gh' // substring starts at second-last character ansi_substring = On ==> 'a' // takes the first 4 characters of // ???abcdefgh and discards all ? SUBSTRING( 'abcdefgh',4,-2 ); ansi_substring = Off ==> 'cd' ansi_substring = On ==> value -2 out of range for destination SUBSTRING( 'abcdefgh',0,4 ); ansi_substring = Off ==> 'abcd' ansi_substring = On ==> 'abc' |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |