PDA

Ver la Versión Completa : Subestring en SQL?


danytorres
01-06-2004, 14:21:55
Hola a todos los del foro. mi preguta es como es la sintaxis para realizar un subestrin en un componente Query1 en la parte de SQL (String List Editor).
El subestrin es 000X27 y debe quedar solo X27 es quitarle los tres 0. Como lo hago?

:confused:

__cadetill
01-06-2004, 15:00:51
como siempre, no dices en qué motor, pero me imagino que será ¿SQL Server?

No estoy seguro, pero prueba algo como...


SUBSTRING(column_reference FROM start_index [FOR length])

o bien

SUBSTR(column_reference FROM start_index [FOR length])

danytorres
01-06-2004, 18:45:26
cadetill el motor no es Sql server las tablas son .db y el query lo hago dentro de delphi en el componente en la parte de String. meda error que hago? :(

roman
01-06-2004, 18:48:00
meda error que hago? :(

Decirnos qué error te da y qué motor usas (.db no necesariamente es suficiente). La sintaxis que te indicó cadetill es estandar para sql.

// Saludos

danytorres
01-06-2004, 19:08:35
Profundizo un poco mas las DB esta hecha en Data Flex, debo sacar unos datos de la tabla hago un ODBC y me conecto con los componenes BDE, necesito hacer una consulta como la hago tengo do opciones 1- dentro del los scrip de delphi o directamente en el componente en la propiedad SQL y le paso los paramtros, pero para mi desgracia no pego una con la sintaxi, que hago? :(

__cadetill
01-06-2004, 19:47:35
sigues sin decirno el error y la sentencia SQL que intentas lanzar

danytorres
01-06-2004, 23:20:05
Sorry la sentencia es

SELECT CODPRO, STOBO7,UBIC, DESCRI, COM_1 ,SUBSTR(CODPRO ,1,Length] as Cod
FROM STOART
WHERE STOBO7 >= 1

me da error de sintaxis.?? :confused:

roman
01-06-2004, 23:22:01
SUBSTR(CODPRO ,1,Length]

Supongo que el último corchete es en realidad un paréntesis ¿no?

¿Intentaste con SUBSTRING?

// Saludos

jachguate
02-06-2004, 05:37:26
Sorry la sentencia es

SELECT CODPRO, STOBO7,UBIC, DESCRI, COM_1 ,SUBSTR(CODPRO ,1,Length] as Cod
FROM STOART
WHERE STOBO7 >= 1

me da error de sintaxis.?? :confused:

Debieras cerrar el substr con un paréntesis ")" y no con un corchete "]".

Por otro lado, salvo que length sea un campo de la tabla stoart, creo que te falta poner la longitud de la subcadena.

Hasta luego.

;)

__cadetill
02-06-2004, 07:03:50
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

Tabla: nombres
nombre
-----------
MiNombre
SuNombre
NuestroNombre

Y lanzamos la siguiente consulta SQL

select SUBSTRING(nombre from 1 for 4)
from nombres

Esyo me producirá la siguiente salida

Tabla: nombres
nombre
-----------
MiNo
SuNo
Nues


Espero que te quede algo más claro el funcionamiento de esta función