FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Select despues de caracter con sql
hola a todos como estan, espero que bien, necesito seleccionar datos de una columna despues de un caracter especifico en este caso la coma, por ejemplo dado los siguentes valores del campo nombre de mi tabla
CORONA TAVAREZ, RAQUEL EUNICE PEREZ AGUILERA, ANA ERCILIA QUEVEDO RAMIREZ, ESTEBAN necesito seleccionar solo lo que esta despues de coma en este caso RAQUEL EUNICE ANA ERCILIA ESTEBA estoy utilizando sql server 2000, intenté utilizar la funcion substring pero no me sirve dado que los nombres varian en cuanto al largo de carateres. gracias de antemano. |
#2
|
||||
|
||||
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Espero que te sirva
Prueba con esto.
function ParseSQL(textoE: String; delimitador: String): String; var fila: Integer; index: Integer; delta: Integer; cadena: String; textoS: String; textoTMP: String; begin Result := EmptyStr; fila := 0; delta := Length(delimitador); textoS := textoE + delimitador; try while Length(textoS) > 0 do begin index := Pos(delimitador, textoS); cadena := Copy(textoS, 0, index - 1); textoS := Copy(textoS, index + delta, MaxInt); if (fila > 0) then textoTMP := textoTMP + cadena + chr(13); Inc(fila); end; finally Result := textoTMP; end; end; Para utlizar esta función, te doy un ejemplo, dentro de un boton colocas esto: procedure TForm1.Button1Click(Sender: TObject); var textoE: String; textoS: String; begin textoE:= 'CORONA TAVAREZ, RAQUEL EUNICE PEREZ AGUILERA, ANA ERCILIA QUEVEDO RAMIREZ, ESTEBAN'; textoS := ParseSQL(textoE, ','); ShowMessage(textoS); end; |
#4
|
|||
|
|||
hola ecfisa
hola ecfisa gracias por responder, como utilizaria la funcion charindex ? ya que vi en la documentacion de sql que esta me devuelve un entero...
Cita:
|
#5
|
|||
|
|||
Muchas Gracias
muchisimas gracias, he probado tu funcion y funciona muy bien, que dios te bendiga mi hermano y que viva delphi!!!
Cita:
|
#6
|
||||
|
||||
Hola ingmichel.
No uso MS SQLServer, pero en esta página tenés una explicación más clara y un ejemplo. Por lo que pude hace una tarea similar a la función Pos de Delphi. Supongo que para tu caso debería ser algo parecido a: Pero me es imposible comprobarlo. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
gracias ecfisa he logrado hacerlo en mi sql 2000, pero ahora requiero hacer lo contrario, es decir seleccionar lo que esta antes de la coma, que funcion seria la indicada este caso ?
Cita:
|
#8
|
||||
|
||||
Cita:
La misma.
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
|||
|
|||
Funciono perfecto
Hola ecfisa acabo de probar y efectivamente me funciono muy bien, eres un master gracias por tu importantisima ayuda me ha servido de mucho.
bendiciones. Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Leer texto caracter a caracter | kikecg | Firebird e Interbase | 11 | 23-11-2010 17:44:44 |
leer caracter por caracter, una linea de un memo | douglas | OOP | 1 | 05-10-2007 06:59:31 |
Stored Procedure con un If después de un Select | gluglu | Conexión con bases de datos | 12 | 08-08-2007 20:15:46 |
Ayudaaaa!!! Tabla ASCII: El carácter Ñ vs. carácter ¥ | Berto2003 | Varios | 5 | 26-07-2005 15:37:48 |
¿Por qué CommitRetaining funciona después de agregar, pero no después de modificar? | Al González | Firebird e Interbase | 7 | 16-02-2004 23:47:28 |
|