Hacer INSERT en SQL SERVER.

Tengo que insertar en una BBDD de SQL SERVER la siguiente cadena de texto que corresponde con una fecha. El formato es AAAAMMDDHHMMSS. Yo estoy probando con la siguiente sentencia:
INSERT INTO FECHAS (FECHA) VALUES (CONVERT(DATETIME,'20060101120000',103)) y me da el siguiente error:
Server:
Msg 241, Level 16, State 1, Line 1
Syntax error converting datetime from character string.
El campo FECHA de la tabla FECHAS esta definido como DATETIME.
También he pensado que el problema podía estar en la longitud del campo.

2 Respuestas

Respuesta
1
No será de la siguiente forma:
INSERT INTO FECHAS (FECHA) VALUES (CONVERT(DATETIME,'20060101120000',103))
Efectimvamente, tienes razón; es con comillas aunque en el mensaje original no te las pusiera por error. Cuando intento hacer el insert:
INSERT INTO FECHAS (FECHA) VALUES (CONVERT(DATETIME,'20060101120000',103))
Me da el siguiente error:
Server:
Msg 241, Level 16, State 1, Line 1
Syntax error converting datetime from character string.
Gracias por tu tiempo.
Saludos,
Y si lo intentas de la siguiente forma:
INSERT INTO FECHAS (FECHA) VALUES ('20060101120000')
Respuesta
1
Almacena la fecha en una variable pública dFecha
Luego ejecuta el siguiente comando
INSERT INTO FECHAS (FECHA) VALES (?dFecha)
No tendrás más errores de fecha.
Gracias, por el ejemplo. Disculpa pero mis conocimientos de SQL son limitados. Me puedes poner el ejemplo completo, ¿almacenando la fecha en la variable pública "dFecha"?
Gracias otra vez,
Ejemplo:
dfecha = datetime()
cSQL = "Insert into Fechas (Fecha) values(?dFecha)
h=sqlconnect(ODBC_Conexion,'sa','password')
Sqlexec(h, cSQL)
Y es todo,
Suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas