Creo que te has basado demasiado literalmente en la descripción que te di de la función SUBSTRING
Como bien te dice Juan Antonio,
length no es la función estilo Delphi que te devuelve la longitud d euna cadena, sino el número de caracteres que quieres.
Veamos un ejemplo
Si tenemos
Código:
Tabla: nombres
nombre
-----------
MiNombre
SuNombre
NuestroNombre
Y lanzamos la siguiente consulta SQL
Código SQL
[-]
select SUBSTRING(nombre from 1 for 4)
from nombres
Esyo me producirá la siguiente salida
Código:
Tabla: nombres
nombre
-----------
MiNo
SuNo
Nues
Espero que te quede algo más claro el funcionamiento de esta función