Conversión de datos a Daettime
Tengo un campo de tipo date time que quiero rellenar con el contenido de otros tres campos, uno es una fecha (date), otro es una hora (varchar 5) y el otro indica si la hora es antes o luego de meridiano (varchar, 1);
El asunto es que tengo una base de datos muy extensa y las formas que he ideado para hacer esta actualización requieren de demasiado tiempo.
Estoy utilizando MySql y necesito hacerlo con una sola instrucción contra el servidor y éste me indica que el valor obtenido no es válido para el campo, a continuación muestro la instrucción que estoy utilizando ¿qué estoy haciendo mal? ¿Qué me falta colocar?
update tabla set fechayhora =
Cast(
Concat(
case
when day(emitido)<10 then concat('0',day(emitido))
when day(emitido)>=10 then day(emitido)
end
,'/',
case
when month(emitido)<10 then concat('0', month(emitido))
when month(emitido)>=10 then month(emitido)
end
,'/',year(emitido),' ',horadoc,
case
when mantar = '1' then ':00 a.m.'
when mantar = '2' then ':00 p.m.'
end
)
as datetime
)
Gracias de antemano por la ayuda
El asunto es que tengo una base de datos muy extensa y las formas que he ideado para hacer esta actualización requieren de demasiado tiempo.
Estoy utilizando MySql y necesito hacerlo con una sola instrucción contra el servidor y éste me indica que el valor obtenido no es válido para el campo, a continuación muestro la instrucción que estoy utilizando ¿qué estoy haciendo mal? ¿Qué me falta colocar?
update tabla set fechayhora =
Cast(
Concat(
case
when day(emitido)<10 then concat('0',day(emitido))
when day(emitido)>=10 then day(emitido)
end
,'/',
case
when month(emitido)<10 then concat('0', month(emitido))
when month(emitido)>=10 then month(emitido)
end
,'/',year(emitido),' ',horadoc,
case
when mantar = '1' then ':00 a.m.'
when mantar = '2' then ':00 p.m.'
end
)
as datetime
)
Gracias de antemano por la ayuda
{"Lat":10.1554497283339,"Lng":-67.4546813964844}
1 Respuesta
Respuesta de derfelius
1