Tengo un Oracle DB con un campo timestamp
en él. ¿Cuál es el código SQL correcto para insertar un timestamp
en este campo?¿Cómo insertar una marca de tiempo en Oracle?
Respuesta
insert
into tablename (timestamp_value)
values (TO_TIMESTAMP(:ts_val, 'YYYY-MM-DD HH24:MI:SS'));
si desea que la marca de tiempo actual que se inserta a continuación:
insert
into tablename (timestamp_value)
values (CURRENT_TIMESTAMP);
¿Por qué 'TO_DATE' en lugar de' TO_TIMESTAMP'? –
@dAVE He actualizado la respuesta a TO_TIMESTAMP(). – reggie
No importa esta simple instrucción 'INSERT', pero en general no quiere usar variables de vinculación como esta. La conversión de tipo en su primera declaración evita que sea vinculante, lo que limita la capacidad de Oracle para crear buenos planes. El optimizador puede funcionar mejor si utiliza 'values (: ts_val)' en su lugar, suponiendo que: ts_val se asigna directamente a una marca de tiempo. –
INSERT
INTO mytable (timestamp_field)
VALUES (CURRENT_TIMESTAMP)
CURRENT_TIMESTAMP
y SYSTIMESTAMP
son Oracle palabras reservadas para este fin. Son el análogo de marca de tiempo de SYSDATE
.
tipo de depende de donde el valor que desea insertar está viniendo. Si desea insertar la hora actual, puede usar CURRENT_TIMESTAMP como se muestra en otras respuestas (o SYSTIMESTAMP).
Si usted tiene un tiempo como una cadena y quiere convertirlo en una marca de tiempo, utilizar una expresión como
to_timestamp(:timestamp_as_string,'MM/DD/YYYY HH24:MI:SS.FF3')
El tiempo de componentes de formato son, espero, explica por sí mismo, excepto que FF3 significa 3 dígitos de precisión sub-segundo. Puede ir tan alto como 6 dígitos de precisión.
Si está insertando desde una aplicación, la mejor respuesta puede depender de cómo se almacena el valor de fecha/hora en su idioma. Por ejemplo, puede asignar ciertos objetos Java directamente a una columna TIMESTAMP, pero necesita comprender las asignaciones de tipos JDBC.
Antes que nada debe hacer el campo Nullable, luego de eso tan simple - en lugar de poner un valor ponga este código CURRENT_TIMESTAMP
.
INSERT INTO TABLE_NAME (TIMESTAMP_VALUE) VALUES (TO_TIMESTAMP('2014-07-02 06:14:00.742000000', 'YYYY-MM-DD HH24:MI:SS.FF'));
CREATE TABLE Table1 (
id int identity(1, 1) NOT NULL,
Somecolmn varchar (5),
LastChanged [timestamp] NOT NULL)
Esto funciona para mssql 2012
INSERT INTO Table1 VALUES('hello',DEFAULT)
fecha de Inserción en SQL
insert
into tablename (timestamp_value)
values ('dd-mm-yyyy hh-mm-ss AM');
Si Supongamos que queremos insertar fecha del sistema
insert
into tablename (timestamp_value)
values (sysdate);
Por mi referencia futura:
Con el uso cx_Oracle cursor.setinputsize (...):
mycursor = connection.cursor();
mycursor.setinputsize(mytimestamp=cx_Oracle.TIMESTAMP);
params = { 'mytimestamp': timestampVar };
cusrsor.execute("INSERT INTO mytable (timestamp_field9 VALUES(:mytimestamp)", params);
No convertir en el PP sea necesario. Ver Oracle Documentation
prefiero ANSI literales de fecha y hora:
insert into the_table
(the_timestamp_column)
values
(timestamp '2017-10-12 21:22:23');
Más detalles en el manual: https://docs.oracle.com/database/121/SQLRF/sql_elements003.htm#SQLRF51062
- 1. Oracle marca de tiempo en comparación con fecha
- 2. Cómo convertir una marca de tiempo de Unix en una marca de tiempo ISO8601 en PHP?
- 3. Oracle tipo de datos de marca de tiempo
- 4. Cómo rellenar un campo de marca de tiempo con la marca de tiempo actual utilizando Oracle Sql Loader
- 5. cómo insertar fecha y hora en Oracle?
- 6. Conversión de marca de tiempo en Oracle para YYYY-MM-DD HH: MM: SS formato
- 7. ¿Cuáles son las desventajas de elegir una mayor precisión de marca de tiempo en Oracle?
- 8. Insertar marca de tiempo en una base de datos + 7 días
- 9. Drupal 7 - Cómo insertar la marca de tiempo de Unix en la base de datos
- 10. Cómo insertar un documento MongoDB con una marca de tiempo desde el servidor de base de datos
- 11. Marca de tiempo personalizada en emacs orgmode
- 12. MySQL: intentar insertar un valor en una marca de tiempo genera un error
- 13. ¿Cómo formatear una marca de tiempo Unix en Delphi?
- 14. Cómo actualizo automáticamente una marca de tiempo en PostgreSQL
- 15. ¿Cómo creo una marca de tiempo Unix en Android?
- 16. En Oracle, ¿es posible "insertar" una columna en una tabla?
- 17. Eliminar parte del tiempo de una marca de tiempo
- 18. Oracle: cómo upsert (actualizar o insertar en una tabla?)
- 19. Agregando días a una marca de tiempo
- 20. Insertar varias filas en Oracle
- 21. Insertar marca de hora en SQLite para Android
- 22. MySQL inserción de marca de tiempo retardado
- 23. jQuery Hace tiempo de una marca de tiempo?
- 24. PHP: Insertar la marca de tiempo actual en SQL Server 2005
- 25. Tipo de fecha sin tiempo en Oracle
- 26. ¿Cómo eliminar milisegundos de una marca de tiempo?
- 27. Mostrar la marca de tiempo de compilación en una aplicación
- 28. Creación de una marca de tiempo única en Java
- 29. Número de registros en Insertar declaración (Oracle)
- 30. ¿Cómo agregar una marca de tiempo a TFSBuild.proj?
"No puedo encontrar esta información en cualquier lugar." La documentación de Oracle es completa y en línea. Encuéntrelo aquí: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm – APC