Campo fecha

07/02/2007 - 10:59 por emartinez | Informe spam
hola, mi problema es que tengo un campo que contiene una fecha, pero
es de tipo nvarchar(50) me gustaria cambiarlo a a modo fecha, pero los
datos del campo estan de esta forma, por ejemplo:

251006 Seria dia 25 de Octubre de 2006.
101107 Seria dia 10 de Noviembre de 2007

Como puedo cambiar ese campo nvarchar(50) a uno de fecha propiamente
dicho para asi porder ordenar por fecha.

La base de datos esta en SQL Server.

Un saludo, gracias.

Eduardo

Preguntas similare

Leer las respuestas

#1 Pablo Garateguy
07/02/2007 - 12:34 | Informe spam
Prueba pasar el string al formato yymmdd (seguramente tengas que parsear el
string y reacomodarlo con charindex), luego le aplicas un convert.

Saludos
Pablo Garateguy
MCP - Visual Basic 6
MCTS - SQL Server 2005


"" wrote:

hola, mi problema es que tengo un campo que contiene una fecha, pero
es de tipo nvarchar(50) me gustaria cambiarlo a a modo fecha, pero los
datos del campo estan de esta forma, por ejemplo:

251006 Seria dia 25 de Octubre de 2006.
101107 Seria dia 10 de Noviembre de 2007

Como puedo cambiar ese campo nvarchar(50) a uno de fecha propiamente
dicho para asi porder ordenar por fecha.

La base de datos esta en SQL Server.

Un saludo, gracias.

Eduardo


Respuesta Responder a este mensaje
#2 emartinez
07/02/2007 - 13:13 | Informe spam
Hola, lo he pasado a tipo fecha y claro se me queda la fecha, por
ejemplo 310806 se queda en dia 6 de Agosto de 2031,
lo otro que me has dicho no lo he entendido muy bien, te puedes
explicar un poco mas. Gracias.

Eduardo.
Respuesta Responder a este mensaje
#3 Maxi
07/02/2007 - 13:56 | Informe spam
Hola, te recomiendo leer este articulo:

http://www.microsoft.com/spanish/ms...art157.asp


Salu2

Microsoft MVP SQL Server
Culminis Speaker

escribió en el mensaje
news:
Hola, lo he pasado a tipo fecha y claro se me queda la fecha, por
ejemplo 310806 se queda en dia 6 de Agosto de 2031,
lo otro que me has dicho no lo he entendido muy bien, te puedes
explicar un poco mas. Gracias.

Eduardo.

Respuesta Responder a este mensaje
#4 Alejandro Mesa
07/02/2007 - 14:51 | Informe spam
Lo que Pablo te indico es que cambies el formato de la cadena. Tu estas
usando el formato ddmmyy (dia-mes-año) y debes cambiarlo a yymmdd, luego
conviertes la cadena a fecha.

Ejemplo:

with cte_1
as
(
select
stuff(stuff(d, 3, 0, '.'), 6, 0, '.') as d
from
(
select '251006'
union all
select '101107'
) as t(d)
)
select
cast(parsename(d, 1) + parsename(d, 2) + parsename(d, 3) as datetime)
from
cte_1
go


AMB


"" wrote:

Hola, lo he pasado a tipo fecha y claro se me queda la fecha, por
ejemplo 310806 se queda en dia 6 de Agosto de 2031,
lo otro que me has dicho no lo he entendido muy bien, te puedes
explicar un poco mas. Gracias.

Eduardo.


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