Separar campos en SQL

Tengo una tabla en SQL server 7.0, en la que hay un campo denominado apellidonombre, siendo el dato, por ejemplo: "Perez, Juan". Pero necesito necesito tener ese dato en dos campos, nombre y apellido. Quisiera saber como debo hacerlo, o sea, tomando la columna que ya tengo y separarlo en dos sin la coma y sin el espacio en blanco.

1 respuesta

Respuesta
1
Se me ocurren dos formas:
Una, que hagas un programita en un lenguaje cualquiera (delphi por ejemplo) y hagas un programa donde se cree la estructura nueva en otra tabla y vayas llenando esa tabla registro por registro, obviamente separando el apellido del nombre por medio de una instrucción PUES. Si deseas más detalles de esta opción puedes escribirme de nuevo.
Dos, que hagas un query más o menos a si:
select Nombre(NombreApelido) as Nombre, Apellido(NombreApelido) as Apellido
from tabla
into table newtabla
Function Nombre()
Parameters Cadena
Nombre= Substr(Cadena, AT(',',Cadena), Len(Cadena))
Return Nombre
Function Apellido()
Parameters Cadena
Apellido= Substr(Cadena, 1, AT(',',Cadena))
Return Apellido
Este query, es en fox, ya que las vistas de SQLServer no soportan (o al menos no se si lo hagan), funciones de Posición. SUBSTRINGS es la función para cortan una cadena en el select, pero no se cual sea para la posición.
Puedes leer la tabla de MSQL desde fox por medio de ODBC.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas