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. |
|
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; |
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:
|
Muchas Gracias
muchisimas gracias, he probado tu funcion y funciona muy bien, que dios te bendiga mi hermano y que viva delphi!!!
Cita:
|
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. |
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:
|
Cita:
La misma.
Saludos. |
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:
|
La franja horaria es GMT +2. Ahora son las 17:40:00. |
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