funcion Instr

24/10/2005 - 21:49 por nelva | Informe spam
Estoy tratando de el primer nombre del empleado de un campo tipo char que
contiene los dos nombres del empleado.
pero me manda un error, no me reconoce la funcion Instr. Lo estoy haciendo
mal o lo tengo que sustituir por otra funcion?..

Gracias

select Left([FUN_Nombre],InStr([FUN_Nombre],' ')-1
from dbo.funcionarios

Preguntas similare

Leer las respuestas

#1 Penta
24/10/2005 - 22:04 | Informe spam
Hola.
Si no me equivoco InStr devuelve la primera posicion encontrada de una
cadena, en T-SQL usa PATINDEX, te doy un ejemplo :

SELECT PATINDEX('%A%', 'MI CADENA')

Te devolvera 5 , ya que en dicha posicion encontro la letra A por
primera vez.

Salu2.
Cristian.
Respuesta Responder a este mensaje
#2 nelva
25/10/2005 - 01:42 | Informe spam
Muchas gracias Penta, lo he logrado, te transcribo lo que hice
SELECT LEFT(FUN_Nombre, CHARINDEX(' ', FUN_Nombre) - 1) AS [p - nombre],
LEFT(FUN_Apellidos, CHARINDEX(' ', FUN_Apellidos) - 1) AS [p - apellido],
FUN_Fecha_Ingreso, FUN_Salario

Hace lo requerido..


"Penta" escribió en el mensaje
news:
Hola.
Si no me equivoco InStr devuelve la primera posicion encontrada de una
cadena, en T-SQL usa PATINDEX, te doy un ejemplo :

SELECT PATINDEX('%A%', 'MI CADENA')

Te devolvera 5 , ya que en dicha posicion encontro la letra A por
primera vez.

Salu2.
Cristian.

Respuesta Responder a este mensaje
#3 Penta
25/10/2005 - 16:51 | Informe spam
Perfecto.
De todas maneras te copia las diferencias :

Las funciones CHARINDEX y PATINDEX devuelven la posición de inicio del
patrón que se especifique. PATINDEX puede usar caracteres comodín,
mientras que CHARINDEX no puede.

Solo eso.
Salu2.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida