MySQL - ¿Cómo analizar un valor de cadena al formato DATETIME dentro de una instrucción INSERT?
tengo unMySQL database
, con una columna que es tipo de fechaDATETIME
.
Obtengo un valor de cadena para una fecha / hora de una aplicación externa. Ese valor de cadena se ve así:
'5/15/2012 8:06:26 AM'
MySQL lanza un error en el INSERTAR:"Error. Incorrect datetime value"
. Mi solución fue cambiar el tipo de columna aVARCHAR
, que funciona, pero realmente necesito los datos como una Fecha y Hora adecuadas para su uso futuro.
Investigué el formato aceptado paraMySQL DATETIME
valores, y encontró queMySQL
quiere elDATETIME
formatear como'YYYY-MM-DD HH:MM:SS'
.
No puedo cambiar la aplicación externa para reformatear la cadena de fecha / hora en un formato, por lo que mi única posibilidad es lidiar con ella.
Lo que necesito hacer, creo, es analizar la cadena existente, usandoMySQL syntax
dentro de miINSERT
declaración, pero no estoy seguro de cómo hacer eso. Tengo una idea de que necesito usar unSELECT
cláusula, tal vezSTR_TO_DATE
, de alguna manera en combinación con mi declaración INSERT.
Aquí está mi declaración INSERT actual. Quité los otros campos que no están causando un problema, solo para limpiar el ejemplo.
INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES ('5/15/2012 8:06:26')
Gracias por cualquier ayuda, soy unSQL
novato