Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Subestring en SQL? (https://www.clubdelphi.com/foros/showthread.php?t=10901)

danytorres 01-06-2004 14:21:55

Subestring en SQL?
 
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...

Código SQL [-]
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

Cita:

Empezado por danytorres
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

Cita:

Empezado por danytorres
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

Cita:

Empezado por danytorres
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
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


La franja horaria es GMT +2. Ahora son las 03:37:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi