Tengo un objeto dateTime en C# y quiero hacer una inserción en el campo de fecha y hora de SQL Server. ¿Cuál es el formato correcto para esto?cuál es la forma correcta de formatear una fecha y hora en el campo de fecha y hora del servidor SQL
cuál es la forma correcta de formatear una fecha y hora en el campo de fecha y hora del servidor SQL
Respuesta
La forma correcta de hacer esto es mediante el uso de una consulta parametrizada, no formateando el texto. Entonces solo puede usar un parámetro fuertemente tipado SqlDbType.DateTime
.
(Si es absolutamente necesario utilizar el formato de texto para hacer esto - y yo recomendaría fuertemente contra ella -. Entonces algo así como yyyyMMdd HH:mm:ss
debe hacer el truco)
¿aún no estaré pasando una cadena a la consulta parametrizada y tendré el mismo problema? – leora
En realidad, el formato que está garantizado para funcionar en cualquier servidor SQL, independientemente del idioma y la configuración regional sería 'aaaaMMdd HH: mm: ss' (sin los guiones - esos causaron problemas en ciertas configuraciones de idioma) –
@marc_s: He actualizó la respuesta para usar el formato de seguridad en todas las circunstancias. – LukeH
uso SET DATEFORMAT
una muestra took from here
SET NOCOUNT ON
CREATE TABLE X(EXAMPLE INT, D SMALLDATETIME)
-- EXAMPLE 1
SET DATEFORMAT MDY
INSERT INTO X VALUES (1, '10/30/56')
-- EXAMPLE 2
SET DATEFORMAT YDM
INSERT INTO X VALUES (2, '56/31/10')
-- EXAMPLE 3
SET DATEFORMAT YMD
INSERT INTO X VALUES (3, '56/10/31')
SELECT * FROM X
Para ampliar la respuesta de @ Luke me encontré con este error el otro día.
El formato yyyy-MM-dd HH:mm:ss
tiene un problema local/idioma en SQL Server 2005 (un ejemplo es el francés), pero se fija en SQL 2008:
Por lo tanto, no utilice este formato: yyyy-MM-dd HH:mm:ss
(separador de espacio).
Use Only: yyyy-MM-ddTHH:mm:ss
(separador de "T") o yyyyMMdd HH:mm:ss
(sin delimitadores guión)
importante si se está generando scripts que incluyen datetime
constantes.
- 1. MySQL: inserte fecha y hora en otro campo de fecha y hora
- 2. fecha y la fecha y hora en Django
- 3. Al almacenar una fecha y hora en el servidor sql (tipo de fecha y hora), ¿en qué formato lo almacena?
- 4. Pregunta simple de fecha y hora sql
- 5. de fecha y hora
- 6. Fecha y hora en java
- 7. Cómo formatear la cadena de fecha y hora en C++
- 8. Cómo obtener la fecha y la hora del servidor
- 9. Agregar o restar hora de la fecha y hora en el servidor SQL
- 10. Fecha y hora en donde la cláusula
- 11. Obtener Fecha y hora actual y el tiempo con [fecha NSDate] fecha y hora
- 12. Compilar fecha y hora
- 13. Como llegar hora y la fecha del sello de fecha y hora en php
- 14. C++ fecha y hora
- 15. java fecha y hora de SQL
- 16. Cómo obtener la fecha y hora del sello de fecha y hora
- 17. Combina la fecha y la hora cuando la fecha es un DateTime y la hora es una cadena
- 18. cómo emitir datetime2 como fecha y hora
- 19. de fecha y hora de convertir SQL y restar horas
- 20. SQL Server 2005 Fecha Marca de fecha y hora Consulta
- 21. Rieles: Obtenga la hora de una fecha y hora
- 22. Mostrar fecha y hora en la configuración regional del usuario
- 23. Obtener fecha y hora del servidor de Apple
- 24. Fecha y hora en Groovy
- 25. Cambiar la fecha y hora en MusicSequence
- 26. Actualizar solo fecha en campo de fecha y hora en Pl/SQL
- 27. Python 3: fecha y hora a fecha y hora: ¿de dónde viene esta hora adicional?
- 28. Formato de fecha y hora
- 29. diferencia entre fecha y hora y DateTime2
- 30. Drupal CCK Fecha: cómo establecer el valor predeterminado del campo de fecha y hora en una fecha de reparación?
Probablemente no debería ser la construcción de hasta cadenas SQL en el código. En su lugar, debe considerar usar procesos almacenados, consultas parametrizadas o un ORM. Cualquiera de estos resolverá su problema con el formato, ya que acaba de pasar el objeto, no tiene que hacer ningún formato de cadena. –