MySQL - Como analisar um valor de string para o formato DATETIME dentro de uma instrução INSERT?
eu tenho umMySQL database
, com uma coluna que é o tipo de dataDATETIME
.
Eu estou recebendo um valor de seqüência de caracteres para uma data / hora de um aplicativo externo. Esse valor de string é assim:
'5/15/2012 8:06:26 AM'
O MySQL lança um erro no INSERT:"Error. Incorrect datetime value"
. Minha solução foi alterar o tipo de coluna paraVARCHAR
, o que funciona, mas eu realmente preciso dos dados como uma Data e Hora apropriada para uso futuro.
Eu pesquisei formatação aceita paraMySQL DATETIME
valores, e descobriu queMySQL
quer oDATETIME
formato como'YYYY-MM-DD HH:MM:SS'
.
Eu não posso alterar o aplicativo externo para reformatar a seqüência de data / hora em um formato, então minha única chance é lidar com isso.
O que eu preciso fazer, eu acho, é analisar a string existente, usandoMySQL syntax
dentro do meuINSERT
declaração, mas não sei como fazer isso. Eu tenho uma idéia que eu preciso usar umSELECT
cláusula, talvezSTR_TO_DATE
, de alguma forma, em combinação com a minha instrução INSERT.
Aqui está minha declaração INSERT atual. Eu removi os outros campos que não estão causando um problema, apenas para tornar o exemplo limpo.
INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES ('5/15/2012 8:06:26')
Obrigado por qualquer ajuda, eu sou umSQL
novato.