FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como pasar de string a integer.
Hola gente:
tengo el siguiente problema. Tengo un campo de una tabla que es varchar(30). El mismo tiene letras y números (un ejemplo de este dato sería 'OT21145'). Yo necesito una vez que ya tengo este dato poder quedarme solo con la parte entera del mismo (O sea que quisiera quedarme con el 21145) para poder insertarla en otra tabla. Todo esto lo quiero hacer desde un store procedure desde la base. Estoy trabajando con el motor de base de datos firebird 1.5. Desde ya agradezco si alguien sabría contestarme. Gracias por su tiempo. Mariano. |
#2
|
||||
|
||||
SUBSTR de las UDF's
Hola!
Creo que la función substr de las udf's del firebird, te sirve para coger esta parte entera que dices en un procedure. Suerte!
__________________
________________________________
It's no good shouting at me like that |
#3
|
|||
|
|||
Prueba con este codigo
Hola yo utilizo la siguiente funcion
Declaracion Function QuitarLetras(cadena: String):String; Detalle de la Funcion Function QuitarLetras(cadena: string): string; var i: integer; begin for i := 1 to Length(cadena) do if cadena[i] in ['0'..'9'] then Result := Result + cadena[i]; end; Llamada QuitarLetras(ubicciondelstring) Esto te dejara solo los numeros, pero como string, tienes luego que utilizar la instruccion para pasar de strin a integer. Espero te sirva. Saludos Alejandro Valparaiso - CHILE
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#4
|
||||
|
||||
con el anterior sp lo que hago es obtener un consecutivo de una factura la cual puede tener letras y el numero entero que se ve sin las letras algo aasi con la ultima factura generada y guardada en la bd con el valor PA0045 después de ejecutar el SP el valor Factura del SP sera PA0046 y el numero sera 46 |
#5
|
|||
|
|||
Tema solucionado - Gracias.
Gente:
muchas gracias por la data. Me sirvio un montón la información que me suministraron. Lo pude hacer de una forma muy parecida a la que me dijo RONPABLO. Mi código del procedure quitar letras quedó así. DECLARE VARIABLE cont integer; DECLARE VARIABLE longitudCadena integer; DECLARE VARIABLE num varchar (1); DECLARE VARIABLE CADENA_DE_NUMEROS varchar (30); begin /* code */ /*Me quedo con la longitud de la cadena que me mandaron*/ longitudCadena = strlen (CADENA); /*Inicializo el contador para recorrer la cadena*/ cont = 1; /*Inicializo la cadena en la cual voy a guardar los números de la orden de trabajo*/ CADENA_DE_NUMEROS = ''; /*Recorro la cadena*/ while (cont <= longitudCadena) do begin /*me quedo con la letra que se encuentra en la posición cont*/ num = substr(CADENA,cont,cont); if (num between '0' and '9') then /*si la letra esta dentro de 0 a 9*/ CADENA_DE_NUMEROS = CADENA_DE_NUMEROS || num; /*concateno los números a los que ya tenía*/ cont = cont + 1; /*avanzo a la próxima letra*/ end /*paso la cadena de letras a un número entero*/ NUMERO = cast(CADENA_DE_NUMEROS as integer); end Última edición por mcalmanovici fecha: 03-04-2007 a las 18:28:14. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como pasar un String a SOAPElement | ku9 | JAVA | 0 | 16-06-2006 11:42:21 |
Pasar de string a integer o viceversa. ¿Es posible? | Kamikaze | Varios | 5 | 07-07-2005 15:44:57 |
¿Como pasar de String a Integer? | astur_racing | JAVA | 5 | 13-01-2005 18:58:18 |
Como Convertir un dato Integer ó Float a String en FireBird???? | AGAG4 | Firebird e Interbase | 8 | 04-12-2004 02:59:47 |
Pasar String a Integer | ramonibk | Varios | 12 | 09-09-2004 17:20:20 |
|