Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2004
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Question 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?

__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #2  
Antiguo 01-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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])
Responder Con Cita
  #3  
Antiguo 01-06-2004
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
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?
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #4  
Antiguo 01-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 01-06-2004
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
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?
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #6  
Antiguo 01-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
sigues sin decirno el error y la sentencia SQL que intentas lanzar
Responder Con Cita
  #7  
Antiguo 01-06-2004
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
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.??
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #8  
Antiguo 01-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por danytorres
SUBSTR(CODPRO ,1,Length]
Supongo que el último corchete es en realidad un paréntesis ¿no?

¿Intentaste con SUBSTRING?

// Saludos
Responder Con Cita
  #9  
Antiguo 02-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

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.??
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 02-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:25:49.


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