¿Cómo puedo verificar si una cadena de fecha tiene el formato MM/DD/YYYY en SQL Server?Formato de fecha del servidor SQL MM/DD/YYYY
Respuesta
SET DATEFORMAT MDY;
SELECT CASE WHEN ISDATE(@string) = 1
AND @string LIKE '[0-1][0-9]/[0-3][0-9]/[1-2][0-9][0-9][0-9]'
THEN 1 ELSE 0 END;
Si el resultado es 1, es una fecha válida, pero no hay garantía de que sea la fecha que el usuario quiso decir. Si entran:
06/07/2012
No hay manera de saber si se referían 7 junio o julio 6. La mejor opción es hacer que los usuarios elegir las fechas de menús desplegables o los controles de calendario, lo que le permite controlar el formato y evite cualquier interpretación innecesaria. Su capa de aplicación puede usar variables/parámetros fuertemente tipados e insertar en columnas correctamente tipadas.
Si lo que busca es el Formato de Fecha de SQL Server para ver si se trata de MDY a continuación, utilizar:
dbcc useroptions
Y echar un vistazo a la dateformat conjunto de opciones de
+1 - ¿sabes cómo cambiarlo? –
Tienes que hacerlo fuera de la base de datos. Una base de datos almacena datetime internamente en su propio formato. No creo que pueda leer en qué formato está almacenada la fecha. Puede leerla como desee, por ejemplo dd/mm/aaaa o aaaa/mm/dd, etc.
Lo que puede hacer es verificar esto valor fuera de la base de datos para cualquier campo de fecha. Puedes usar expresiones regulares para eso. Pero eso estará fuera de la base de datos.
a convertir la fecha a DateString en este formato MM/DD/AAAA usando CONVERT function
select convert(varchar(10),getdate(),101)
La salida será el del 8 de Sept 2012
09/08/2012
No hay necesidad de validar, otra luego verificando el campo de fecha es nulo o no
- 1. Obtener fecha de creación de índice del servidor SQL
- 2. ¿Marca de tiempo de fecha predeterminada del servidor SQL?
- 3. Acceder al formato de fecha SQL
- 4. fecha sql convertir a formato de cadena
- 5. ¿El inglés de EE. UU. Es el único idioma con formato mmddyyyy?
- 6. Convertir columna de fecha a fecha Sql Servidor
- 7. "Fecha indescifrable: 1302828677828" tratando de deserializar con Gson una fecha del formato de milisegundos recibida del servidor
- 8. Eliminar el tiempo del servidor de DateTime sql 2005
- 9. Convertir un servidor SQL a un formato de fecha más corta
- 10. Servidor Sql: cómo reiniciar el último servidor (fecha/hora de reinicio del DMV)
- 11. Dependencias del Servidor SQL
- 12. Al almacenar una fecha y hora en el servidor sql (tipo de fecha y hora), ¿en qué formato lo almacena?
- 13. Fecha del formato en FormView EditItemTemplate
- 14. formato a una fecha del calendario
- 15. SQL Server 2008 - problema de formato de fecha al insertar
- 16. DB2 Formato de fecha
- 17. Formato de fecha MySQL
- 18. Formato de fecha PHP
- 19. Formato de fecha JAVA
- 20. XSLT formato de fecha
- 21. Servidor SQL Rendimiento clave de fecha/hora int.
- 22. Convertir la fecha recuperada del servidor ntp con python
- 23. Formato de fecha Oracle Fecha nula como 00/00/0000
- 24. Índice filtrados del servidor SQL
- 25. Tabla temporal del servidor Sql
- 26. uso del servidor SQL columna
- 27. Asignación del objeto de fecha de Java al formato de fecha y hora del esquema XML
- 28. Convertir la fecha de Javascript a ASP.NET Formato de fecha
- 29. ordinal Formato de fecha C#
- 30. XS: Fecha quiero fecha en formato AAAAMMDD
+1 - Cabe señalar que esto es, por supuesto, insinuando que las fechas/horas ** NO DEBEN ** estar almacenadas como tipos de cadenas, sino como sus tipos apropiados. Si estás tratando de descubrir qué está usando una base de datos ... podrías tener algunos problemas. –
@ X-Zero gracias, agregó una declaración explícita sobre eso. –