SQLServer Substring und Oracle Substr

Ich dachte ja eigentlich, dass, wenn man ein SQL-Skript aus einer Oracle-Anwendung auf den SQLServer migriert, man nur das „substr“ durch „substring“ ersetzen muss.

Klappt fast immer. Nur, wenn man den <startindex> von substr(‚text‘,<startindex>,<länge>) kleiner als 1 wählt (z.B.) substr(„abcdefg“,0,2) bekommt man bei Oracle „ab“ – beim Sqlserver aber nur „a“.

Grund: Der Sqlserver liefert *immer* einen String der Länge <startindex>+<länge>-1 (oder null, wenn das kleiner als 0 werden sollte). Oracle liefert immer einen String der Länge <länge>.

Quellen:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions162.htm
http://msdn.microsoft.com/de-de/library/ms187748.aspx

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.