Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-08-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
Empezado por wilcg Ver Mensaje
...hay pero hay un error
¿Cuál? ¿Qué dice el error?

¿Qué base de datos?
¿Lo utilzias como un query o dentro de una trigger o un procedimiento almacenado?

Posibilidad 1:
Te dice que no puede convertirlo a entero: Puede ser que sea porque si quieres quitar 4 caracteres debas utiliar substrin(string, 4, largo). La posición 4 es la 4 y no la 3.
Aunque creo que debería ser desde la posición 5 ya que la cuatro es la primera letra del segundo conjunto de datos (Cn-Cnnn).
También habría que saber si el tercer parámetro se refiere a la posición final o a cuantos caracteres tomar:
substring(c, 5, lenght(c)-5) /* de la quinta posición n caracteres */
substring(c, 5, length(c)) /* de la quinta posicion hasta la posición n */

Posibilidad 2:
No existe la instrucción: Puede ser que no entienda substring o length o alguna otra cosa.

Posibilidad 3:
No existe el campo: Te has equivocado de nombre de campo.

Posibilidad 4:
No existe la tabla: Te has equivocado de nombre de tabla.

Posibilidad ...

Última edición por duilioisola fecha: 19-08-2014 a las 15:26:20.
Responder Con Cita
  #2  
Antiguo 19-08-2014
wilcg wilcg is offline
Miembro
 
Registrado: abr 2014
Posts: 107
Poder: 13
wilcg Va por buen camino
Bueno para describir un poco más la consulta.

La base de datos que estoy usando es Posgresql, y la consulta va por medio de un TQuery y con respecto al error es el siguiente: no existe el tipo <<unsigned>>.

¿como quiero que funcione?
Tengo el texto C1-N003 quiero que quite los cuatro primeros caracteres C1-N y de los siguientes tres 003 me seleccione el numero maximo el más alto. para tomar ese numero y generar un nuevo numero que incremente.
Responder Con Cita
  #3  
Antiguo 19-08-2014
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 23
ozsWizzard Va por buen camino
Si el prefijo siempre es C1-N el MAX debería valer, ¿no?
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #4  
Antiguo 19-08-2014
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 948
Poder: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Creo que la función substring está mal implementada...

Código SQL [-]
Select Max(Cast(Substring(Numeracion From 4, 3) As Integer)) 
From ventas

De esta forma creo debe funcionar...
Saludos cordiales
Responder Con Cita
  #5  
Antiguo 20-08-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Por un lado el error es claro: no existe unsigned para Postgres. Deberás saber cuales son los tipos admitidos y utilizar uno de ellos.
Mira este link.

De todos modos, yo insisto en que creo que la posición inicial debe ser 5
Código SQL [-]
Select Max(Cast(Substring(Numeracion From 5, 3) As Integer)) 
From ventas

Si la longitud de la parte numerica es fija (3) puedes utilizarlo asi, si es variable, deberás utilizar char_length para calcularla.

En este link tienes información de como se utiliza substring (como digo yo aparentemente) y char_length.

Última edición por duilioisola fecha: 20-08-2014 a las 04:50:44.
Responder Con Cita
  #6  
Antiguo 20-08-2014
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 948
Poder: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Amigo tienes toda la razón...

Cita:
Empezado por duilioisola Ver Mensaje
De todos modos, yo insisto en que creo que la posición inicial debe ser 5
Saludos cordiales
Responder Con Cita
  #7  
Antiguo 20-08-2014
wilcg wilcg is offline
Miembro
 
Registrado: abr 2014
Posts: 107
Poder: 13
wilcg Va por buen camino
Gracias amigos por sus respuestas y sus aportes.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Valor maximo de un campo jafera Firebird e Interbase 4 25-10-2013 19:08:39
maximo valor de un subconjunto de datos TrUnkS SQL 1 07-10-2010 18:21:20
valor maximo del autoincrement anubis Tablas planas 2 16-07-2007 07:04:32
consultar el maximo valor beatriz g SQL 4 16-08-2006 17:35:53
consulta con Valor maximo isc_hilda SQL 3 29-04-2004 22:17:20


La franja horaria es GMT +2. Ahora son las 08:58:37.


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
Copyright 1996-2007 Club Delphi