Extraer texto a la izquierda de un indice
Un saludo a todos,
Trabajo con SQL Server, quisiera saber si alguien conoce alguna forma de extraer el texto que este a la izquierda de un indice que se da contando desde el final de la cadena hacia la izquierda. Para hacerlo mas claro pondre el siguiente ejemplo, En los cadenas "programa" y "delphi" quiero extraer la cadena que este a la izquierda del indice 3 (contando de derecha a izquierda), el resultado seria: "progr" "del" Muchas gracias por sus respuestas |
Mírate la función Left.
Un Saludo. |
la función LEFT trabaja con un indice de izquierda a derecha y el indice que yo necesito es de derecha a izquierda
con la cadena "programa" LEFT("programa", 3) arroja "pro" y lo que yo necesito es que al darle un indice 3 me arroje "progr" que es la cadena que esta a la izquierda del indice 3 (contando de derecha a izquierda). No se si me he explicado bien :( |
Right
Un Saludo. |
Creo que no me explique bien, y la verdad es que lo que necesito es un poco complejo:(
si utilizo RIGHT me arrojaria "ama" y ese resultado tampoco es el que necesito. Agradezco mucho tu intento por ayudarme amigo Marcos. |
Un Saludo.
Mid(Palabra,1,Length(Palabra) -3) Un Saludo. |
Saludos
Otra opción sería (probado en Firebird) SUBSTR(palabra,1,10) Casi lo mismo que ha expuesto marcoszorrilla |
Podrias explicarte un poco mejor???
Saludos Vicente López. |
cResultado := copy(cCadena, 1, length(cCadena)-3))
¿Quiéres decir esto? Perdón, no vale... es que no me había fijado que está en el foro sql :o |
ya te entendi, esta fácil
Edito: Casimiro, vas a decir que te copie pero te me adelantate simplemente;) Saludos. Vicente López. |
Eso funciona muy bien desde el código de delphi, pero lo que yo busco es una sentencia SQL, pues estoy intentando cargar datos desde Excel a SQL Server.
Lo mejor es que ya logre resolverlo.:D Muchas gracias por tu ayuda Marcos. |
Cita:
|
Saludos
Creo que con un Ejemplo bastaría:) entonces tenemos esto: SUBSTR('ClubDelphi',3,6) el resultado sería: 'ubDelp' |
vtdeleon, lo que Johnny Q quiere, es que tu cuentes de derecha a izq 3 posiciones y se lo quites al texto, mas arriba puse la solución.
Saludos. Vicente López. |
Para Vicente:
probe el codigo que me enviaste y es exactamente lo que estaba buscando, muchas gracias. |
Cita:
|
Saludos
Cita:
:rolleyes: |
Casimiro me pregunto que había hecho yo, pues lo que se me ocurrio fue lo siguiente:
SELECT REVERSE(SUBSTRING(REVERSE(texto),4,8)) FROM tabla aunque me parece más óptima la solución que dio Vicente. |
La franja horaria es GMT +2. Ahora son las 08:03:25. |
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