SET DATEFORMAT (Transact-SQL)SET DATEFORMAT (Transact-SQL)

ESTE TEMA SE APLICA A: síSQL Server (a partir de 2008)síAzure SQL DatabasesíAzure SQL Data Warehouse síAlmacenamiento de datos paralelos THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Establece el orden de las partes de fecha del mes, día y año para interpretar fecha, smalldatetime, datetime, datetime2 y datetimeoffset cadenas de caracteres.Sets the order of the month, day, and year date parts for interpreting date, smalldatetime, datetime, datetime2 and datetimeoffset character strings.

Para obtener información general de todos los Transact-SQLTransact-SQL tipos de datos de fecha y hora y funciones, vea funciones y tipos de datos de hora y fecha ( Transact-SQL ) .For an overview of all Transact-SQLTransact-SQL date and time data types and functions, see Date and Time Data Types and Functions (Transact-SQL).

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

SET DATEFORMAT { format | @format_var }   

ArgumentosArguments

formato | @format_varformat | @format_var
Es el orden de las partes de la fecha.Is the order of the date parts. Parámetros válidos son mdy, DMA, AMD, adm, MAD, y DAM.Valid parameters are mdy, dmy, ymd, ydm, myd, and dym. Puede ser Unicode o juegos de caracteres de doble byte (DBCS) convertidos a Unicode.Can be either Unicode or double-byte character sets (DBCS) converted to Unicode. El valor predeterminado para inglés Valor predeterminado para inglés mdy.The U.S. English default is mdy. Para DATEFORMAT predeterminado de todos los lenguajes admitidos, vea sp_helplanguage ( Transact-SQL ) .For the default DATEFORMAT of all support languages, see sp_helplanguage (Transact-SQL).

ComentariosRemarks

El DATEFORMAT adm no se admite para fecha, datetime2 y datetimeoffset tipos de datos.The DATEFORMAT ydm is not supported for date, datetime2 and datetimeoffset data types.

El efecto de la configuración DATEFORMAT en la interpretación de cadenas de caracteres que pueden ser diferente datetime y smalldatetime valores fecha, datetime2 y datetimeoffset valores, según el formato de cadena.The effect of the DATEFORMAT setting on the interpretation of character strings might be different for datetime and smalldatetime values than for date, datetime2 and datetimeoffset values, depending on the string format. Esta configuración de idioma afecta a la interpretación de cadenas de caracteres cuando se convierten en valores de fecha para el almacenamiento en la base de datos.This setting affects the interpretation of character strings as they are converted to date values for storage in the database. No afecta a la presentación de valores de tipo de datos de fecha que se almacenan en el formato de base de datos o de almacenamiento.It does not affect the display of date data type values that are stored in the database or the storage format.

Algunos formatos de cadenas de caracteres, por ejemplo ISO 8601, se interpretan independientemente del valor DATEFORMAT.Some character strings formats, for example ISO 8601, are interpreted independently of the DATEFORMAT setting.

La opción SET DATEFORMAT se establece en tiempo de ejecución, no en tiempo de análisis.The setting of SET DATEFORMAT is set at execute or run time and not at parse time.

SET DATEFORMAT anula la fecha implícita de configuración de formato SET LANGUAGE.SET DATEFORMAT overrides the implicit date format setting of SET LANGUAGE.

PermissionsPermissions

Debe pertenecer al rol public .Requires membership in the public role.

EjemplosExamples

El ejemplo siguiente utiliza cadenas de fecha diferentes como entradas en sesiones con el mismo valor DATEFORMAT.The following example uses different date strings as inputs in sessions with the same DATEFORMAT setting.

-- Set date format to day/month/year.  
SET DATEFORMAT dmy;  
GO  
DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';  
SELECT @datevar;  
GO  
-- Result: 2008-12-31 09:01:01.123  
SET DATEFORMAT dmy;  
GO  
DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567';  
SELECT @datevar;  
GO  
-- Result: Msg 241: Conversion failed when converting date and/or time -- from character string.  

GO  

Vea tambiénSee Also

Instrucciones SET (Transact-SQL)SET Statements (Transact-SQL)