smalldatetime (Transact-SQL)smalldatetime (Transact-SQL)
S’applique à :Applies to: SQL ServerSQL Server (toutes les versions prises en charge)
SQL ServerSQL Server (all supported versions)
Azure SQL DatabaseAzure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel Data WarehouseParallel Data Warehouse
SQL ServerSQL Server (toutes les versions prises en charge)
SQL ServerSQL Server (all supported versions)
Azure SQL DatabaseAzure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel Data WarehouseParallel Data Warehouse
Définit une date qui est associée à une heure de la journée.Defines a date that is combined with a time of day. L'heure est basée sur une journée de 24 heures, les secondes ayant toujours la valeur zéro (:00) et sans fractions de seconde.The time is based on a 24-hour day, with seconds always zero (:00) and without fractional seconds.
Notes
Utilisez les types de données time, date, datetime2 et datetimeoffset pour une nouvelle tâche.Use the time, date, datetime2 and datetimeoffset data types for new work. Ces types s'alignent sur la norme SQL.These types align with the SQL Standard. Ils sont plus portables.They are more portable. time, datetime2 et datetimeoffset offrent une meilleure précision à la seconde.time, datetime2 and datetimeoffset provide more seconds precision. datetimeoffset fournit la prise en charge des fuseaux horaires pour les applications globalement déployées.datetimeoffset provides time zone support for globally deployed applications.
Description de smalldatetimesmalldatetime description
PropriétéProperty | ValeurValue |
---|---|
SyntaxeSyntax | smalldatetimesmalldatetime |
UsageUsage | DECLARE @MySmalldatetime smalldatetimeDECLARE @MySmalldatetime smalldatetime CREATE TABLE Table1 ( Column1 smalldatetime )CREATE TABLE Table1 ( Column1 smalldatetime ) |
Formats de littéraux de chaîne par défautDefault string literal formats (utilisé pour le client de bas niveau)(used for down-level client) |
Non applicableNot applicable |
Plage de datesDate range | 1900-01-01 à 2079-06-061900-01-01 through 2079-06-06 Du 1er janvier 1900 au 6 juin 2079January 1, 1900, through June 6, 2079 |
Plage temporelleTime range | 00:00:00 à 23:59:5900:00:00 through 23:59:59 2007-05-09 23:59:59 sera arrondi à2007-05-09 23:59:59 will round to 2007-05-10 00:00:002007-05-10 00:00:00 |
Plages d'élémentsElement ranges | AAAA comprend quatre chiffres, entre 1900 et 2079, qui représentent une année.YYYY is four digits, ranging from 1900, to 2079, that represent a year. MM comprend deux chiffres, entre 01 et 12, qui représentent un mois de l’année spécifiée.MM is two digits, ranging from 01 to 12, that represent a month in the specified year. DD comprend deux chiffres, entre 01 et 31 selon le mois, qui représentent un jour du mois spécifié.DD is two digits, ranging from 01 to 31 depending on the month, that represent a day of the specified month. hh comprend deux chiffres, entre 00 et 23, qui représentent l'heure.hh is two digits, ranging from 00 to 23, that represent the hour. mm comprend deux chiffres, entre 00 et 59, qui représentent la minute.mm is two digits, ranging from 00 to 59, that represent the minute. ss comprend deux chiffres, entre 00 et 59, qui représentent la seconde.ss is two digits, ranging from 00 to 59, that represent the second. Les valeurs inférieures ou égales à 29,998 secondes sont arrondies à la minute inférieure.Values that are 29.998 seconds or less are rounded down to the nearest minute. Les valeurs supérieures ou égales à 29,999 secondes sont arrondies à la minute supérieure.Values of 29.999 seconds or more are rounded up to the nearest minute. |
Longueur de caractèreCharacter length | 19 positions au maximum19 positions maximum |
Taille de stockageStorage size | 4 octets, fixe.4 bytes, fixed. |
PrécisionAccuracy | Une minuteOne minute |
Valeur par défautDefault value | 1900-01-01 00:00:001900-01-01 00:00:00 |
CalendrierCalendar | GrégorienGregorian (N’inclut pas la plage complète des années.)(Doesn't include the complete range of years.) |
Précision à la fraction de seconde définie par l'utilisateurUser-defined fractional second precision | NonNo |
Prise en charge et conservation du décalage de fuseau horaireTime zone offset aware and preservation | NonNo |
Prise en charge de l'heure d'étéDaylight saving aware | NonNo |
Conformité ANSI et ISO 8601ANSI and ISO 8601 Compliance
smalldatetime n’est pas conforme au format ANSI ou ISO 8601.smalldatetime isn't ANSI or ISO 8601 compliant.
Conversion de données date et timeConverting date and time data
Lorsque vous effectuez une conversion vers des types de données date et heure, SQL ServerSQL Server rejette toutes les valeurs qu’il ne reconnaît pas comme des dates ou des heures.When you convert to date and time data types, SQL ServerSQL Server rejects all values it can't recognize as dates or times. Pour plus d’informations sur l’utilisation des fonctions CAST et CONVERT avec des données date et time, consultez CAST et CONVERT (Transact-SQL).For information about using the CAST and CONVERT functions with date and time data, see CAST and CONVERT (Transact-SQL).
Conversion de smalldatetime en d’autres types de données date et timeConverting smalldatetime to other date and time types
Cette section décrit ce qui se produit quand un type de données smalldatetime est converti en d’autres types de données date et time.This section describes what occurs when a smalldatetime data type is converted to other date and time data types.
Dans le cas d’une conversion en date, l’année, le mois et le jour sont copiés.For a conversion to date, the year, month, and day are copied. Le code suivant montre les résultats de la conversion d'une valeur smalldatetime
en valeur date
.The following code shows the results of converting a smalldatetime
value to a date
value.
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';
DECLARE @date date = @smalldatetime
SELECT @smalldatetime AS '@smalldatetime', @date AS 'date';
--Result
--@smalldatetime date
------------------------- ----------
--1955-12-13 12:43:00 1955-12-13
--
--(1 row(s) affected)
Dans le cas d’une conversion en time(n) , les heures, minutes et secondes sont copiées.When the conversion is to time(n), the hours, minutes, and seconds are copied. Les fractions de seconde sont définies sur 0.The fractional seconds are set to 0. Le code suivant montre les résultats de la conversion d'une valeur smalldatetime
en valeur time(4)
.The following code shows the results of converting a smalldatetime
value to a time(4)
value.
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';
DECLARE @time time(4) = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime', @time AS 'time';
--Result
--@smalldatetime time
------------------------- -------------
--1955-12-13 12:43:00 12:43:00.0000
--
--(1 row(s) affected)
Dans le cas d’une conversion en datetime, la valeur smalldatetime est copiée dans la valeur datetime.When the conversion is to datetime, the smalldatetime value is copied to the datetime value. Les fractions de seconde sont définies sur 0.The fractional seconds are set to 0. Le code suivant montre les résultats de la conversion d'une valeur smalldatetime
en valeur datetime
.The following code shows the results of converting a smalldatetime
value to a datetime
value.
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';
DECLARE @datetime datetime = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime', @datetime AS 'datetime';
--Result
--@smalldatetime datetime
------------------------- -----------------------
--1955-12-13 12:43:00 1955-12-13 12:43:00.000
--
--(1 row(s) affected)
Pour une conversion en datetimeoffset(n) , la valeur smalldatetime est copiée dans la valeur datetimeoffset(n) .For a conversion to datetimeoffset(n), the smalldatetime value is copied to the datetimeoffset(n) value. Les fractions de seconde sont définies sur 0 et le décalage de fuseau horaire est défini sur +00:0.The fractional seconds are set to 0, and the time zone offset is set to +00:0. Le code suivant montre les résultats de la conversion d'une valeur smalldatetime
en valeur datetimeoffset(4)
.The following code shows the results of converting a smalldatetime
value to a datetimeoffset(4)
value.
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';
DECLARE @datetimeoffset datetimeoffset(4) = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime', @datetimeoffset AS 'datetimeoffset(4)';
--Result
--@smalldatetime datetimeoffset(4)
------------------------- ------------------------------
--1955-12-13 12:43:00 1955-12-13 12:43:00.0000 +00:0
--
--(1 row(s) affected)
Dans le cas d’une conversion en datetime2(n) , la valeur smalldatetime est copiée dans la valeur datetime2(n) .For the conversion to datetime2(n), the smalldatetime value is copied to the datetime2(n) value. Les fractions de seconde sont définies sur 0.The fractional seconds are set to 0. Le code suivant montre les résultats de la conversion d'une valeur smalldatetime
en valeur datetime2(4)
.The following code shows the results of converting a smalldatetime
value to a datetime2(4)
value.
DECLARE @smalldatetime smalldatetime = '1955-12-13 12:43:10';
DECLARE @datetime2 datetime2(4) = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime', @datetime2 AS ' datetime2(4)';
--Result
--@smalldatetime datetime2(4)
------------------------- ------------------------
--1955-12-13 12:43:00 1955-12-13 12:43:00.0000
--
--(1 row(s) affected)
ExemplesExamples
R.A. Conversion de littéraux de chaîne avec secondes en smalldatetimeCasting string literals with seconds to smalldatetime
L'exemple suivant compare la conversion de secondes dans les littéraux de chaîne en smalldatetime
.The following example compares the conversion of seconds in string literals to smalldatetime
.
SELECT
CAST('2007-05-08 12:35:29' AS smalldatetime)
,CAST('2007-05-08 12:35:30' AS smalldatetime)
,CAST('2007-05-08 12:59:59.998' AS smalldatetime);
EntréeInput | OutputOutput |
---|---|
2007-05-08 12:35:292007-05-08 12:35:29 | 2007-05-08 12:35:002007-05-08 12:35:00 |
2007-05-08 12:35:302007-05-08 12:35:30 | 2007-05-08 12:36:002007-05-08 12:36:00 |
2007-05-08 12:59:59.9982007-05-08 12:59:59.998 | 2007-05-08 13:00:002007-05-08 13:00:00 |
B.B. Comparaison de types de données date et timeComparing date and time data types
L'exemple suivant compare les résultats de la conversion d'une chaîne en chaque type de données de date et d'heure.The following example compares the results of casting a string to each date and time data type.
SELECT
CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date'
,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS
'smalldatetime'
,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS
'datetime2'
,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS
'datetimeoffset';
Type de donnéesData type | OutputOutput |
---|---|
timetime | 12:35:29.12:35:29. 12345671234567 |
datedate | 2007-05-082007-05-08 |
smalldatetimesmalldatetime | 2007-05-08 12:35:002007-05-08 12:35:00 |
datetimedatetime | 2007-05-08 12:35:29.1232007-05-08 12:35:29.123 |
datetime2datetime2 | 2007-05-08 12:35:29.2007-05-08 12:35:29. 12345671234567 |
datetimeoffsetdatetimeoffset | 2007-05-08 12:35:29.1234567 +12:152007-05-08 12:35:29.1234567 +12:15 |
Voir aussiSee also
CAST et CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)