smalldatetime(Transact-SQL)smalldatetime (Transact-SQL)

적용 대상: 예SQL Server 예Azure SQL Database 예Azure Synapse Analytics(SQL DW) 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

날짜와 시간을 정의합니다.Defines a date that is combined with a time of day. 시간은 하루 24시간을 기준으로 하며 초는 항상 소수 자릿수 없이 0(:00)으로 표시됩니다.The time is based on a 24-hour day, with seconds always zero (:00) and without fractional seconds.

참고

새 작업에 대해 time, date, datetime2datetimeoffset 데이터 형식을 사용합니다.Use the time, date, datetime2 and datetimeoffset data types for new work. 이러한 데이터 형식은 SQL 표준에 맞는 형식으로,These types align with the SQL Standard. 이식성이 높습니다.They are more portable. time, datetime2datetimeoffset은 초의 정밀도를 높여줍니다.time, datetime2 and datetimeoffset provide more seconds precision. 전 세계에 배포되는 애플리케이션의 경우 datetimeoffset을 사용하면 표준 시간대가 지원됩니다.datetimeoffset provides time zone support for globally deployed applications.

smalldatetime 설명smalldatetime description

구문Syntax smalldatetimesmalldatetime
사용Usage DECLARE @MySmalldatetime smalldatetimeDECLARE @MySmalldatetime smalldatetime

CREATE TABLE Table1(Column1 smalldatetime)CREATE TABLE Table1 ( Column1 smalldatetime )
기본 문자열 리터럴 형식Default string literal formats

(하위 클라이언트에 대해 사용됨)(used for down-level client)
해당 사항 없음Not applicable
날짜 범위Date range 1900-01-01부터 2079-06-06까지1900-01-01 through 2079-06-06

1900년 1월 1일부터 2079년 6월 6일까지January 1, 1900, through June 6, 2079
시간 범위Time range 00:00:00부터 23:59:59까지00:00:00 through 23:59:59

2007-05-09 23:59:59 다음 시간은 다음과 같음2007-05-09 23:59:59 will round to

2007-05-10 00:00:002007-05-10 00:00:00
요소 범위Element ranges YYYY는 1900에서 2079사이에 속하는 4자리 숫자로, 연도를 나타냅니다.YYYY is four digits, ranging from 1900, to 2079, that represent a year.

MM은 01에서 12 사이에 속하는 두 자리 숫자로, 지정한 연도의 월을 나타냅니다.MM is two digits, ranging from 01 to 12, that represent a month in the specified year.

DD는 월에 따라 01에서 31 사이에 속하는 두 자리 숫자로, 지정한 월의 일을 나타냅니다.DD is two digits, ranging from 01 to 31 depending on the month, that represent a day of the specified month.

hh는 00에서 23 사이에 속하는 두 자리 숫자로, 시를 나타냅니다.hh is two digits, ranging from 00 to 23, that represent the hour.

mm은 00에서 59 사이에 속하는 두 자리 숫자로, 분을 나타냅니다.mm is two digits, ranging from 00 to 59, that represent the minute.

ss는 00에서 59 사이에 속하는 두 자리 숫자로, 초를 나타냅니다.ss is two digits, ranging from 00 to 59, that represent the second. 29.998초 이하의 값은 가장 가까운 분으로 반내림됩니다.Values that are 29.998 seconds or less are rounded down to the nearest minute. 29.999초 이상의 값은 가장 가까운 분으로 반올림됩니다.Values of 29.999 seconds or more are rounded up to the nearest minute.
문자 길이Character length 최대 19자리19 positions maximum
스토리지 크기Storage size 4바이트(고정)4 bytes, fixed.
정확도Accuracy 1분One minute
기본값Default value 1900-01-01 00:00:001900-01-01 00:00:00
달력Calendar 일반 달력Gregorian

(전체 연도 범위를 포함하지는 않음)(Doesn't include the complete range of years.)
사용자 정의 초 소수 부분 자릿수User-defined fractional second precision 아니오No
표준 시간대 오프셋 인식 및 유지Time zone offset aware and preservation 아니오No
일광 절약 시간제 인식Daylight saving aware 아니오No

ANSI 및 ISO 8601 호환성ANSI and ISO 8601 Compliance

smalldatetime은 ANSI 또는 ISO 8601 규격이 아닙니다.smalldatetime isn't ANSI or ISO 8601 compliant.

date 및 time 데이터 변환Converting date and time data

SQL ServerSQL Server에서 날짜 및 시간 데이터 형식을 변환할 때 날짜나 시간으로 인식되지 않는 값은 모두 무시됩니다.When you convert to date and time data types, SQL ServerSQL Server rejects all values it can't recognize as dates or times. 날짜 및 시간 데이터에 CAST 및 CONVERT 함수를 사용하는 방법은 CAST 및 CONVERT(Transact-SQL)를 참조하세요.For information about using the CAST and CONVERT functions with date and time data, see CAST and CONVERT (Transact-SQL).

smalldatetime을 다른 날짜 및 시간 형식으로 변환Converting smalldatetime to other date and time types

이 섹션에서는 smalldatetime 데이터 형식이 다른 날짜 및 시간 데이터 형식으로 변환될 때 어떤 일이 발생하는지를 설명합니다.This section describes what occurs when a smalldatetime data type is converted to other date and time data types.

date로 변환하는 경우 년, 월, 일이 복사됩니다.For a conversion to date, the year, month, and day are copied. 다음 코드에서는 smalldatetime 값을 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)  

time(n) 으로 변환되는 경우 시간, 분 및 초가 복사됩니다.When the conversion is to time(n), the hours, minutes, and seconds are copied. 소수 자릿수 초는 0으로 설정됩니다.The fractional seconds are set to 0. 다음 코드에서는 smalldatetime 값을 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)  

datetime으로 변환되는 경우 smalldatetime 값이 datetime 값으로 복사됩니다.When the conversion is to datetime, the smalldatetime value is copied to the datetime value. 소수 자릿수 초는 0으로 설정됩니다.The fractional seconds are set to 0. 다음 코드에서는 smalldatetime 값을 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)  

datetimeoffset(n) 으로 변환하는 경우 smalldatetime 값이 datetimeoffset(n) 값으로 복사됩니다.For a conversion to datetimeoffset(n), the smalldatetime value is copied to the datetimeoffset(n) value. 소수 자릿수 초는 0으로 설정되고 표준 시간대 오프셋은 +00:0으로 설정됩니다.The fractional seconds are set to 0, and the time zone offset is set to +00:0. 다음 코드에서는 smalldatetime 값을 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)  

datetime2(n) 로 변환되는 경우 smalldatetime 값이 datetime2(n) 값으로 복사됩니다.For the conversion to datetime2(n), the smalldatetime value is copied to the datetime2(n) value. 소수 자릿수 초는 0으로 설정됩니다.The fractional seconds are set to 0. 다음 코드에서는 smalldatetime 값을 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)  

Examples

1.A. 초를 포함한 문자열 리터럴을 smalldatetime으로 캐스팅Casting string literals with seconds to smalldatetime

다음 예에서는 문자열 리터럴의 초를 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);  
InputInput 출력Output
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

2.B. 날짜 및 시간 데이터 형식 비교Comparing date and time data types

다음 예에서는 문자열을 각 날짜 및 시간 데이터 형식으로 캐스팅하는 결과를 비교합니다.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';  
데이터 형식Data type 출력Output
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

관련 항목:See also

CAST 및 CONVERT(Transact-SQL)CAST and CONVERT (Transact-SQL)