time(Transact-SQL)time (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 time of a day. 시간은 표준 시간대를 인식하지 않으며 24시간제를 기준으로 합니다.The time is without time zone awareness and is based on a 24-hour clock.

참고

Informatica Connector를 사용하여 PDW 고객에게 Informatica 정보를 제공합니다.Informatica information is provided for PDW customers using the Informatica Connector.

time 설명time Description

속성Property Value
구문Syntax time [ (소수 자릿수 초) ]time [ (fractional second scale) ]
사용Usage DECLARE @MyTime time(7)DECLARE @MyTime time(7)

CREATE TABLE Table1( Column1 time(7) )CREATE TABLE Table1 ( Column1 time(7) )
소수 자릿수 초fractional seconds scale 초의 소수 부분 자릿수를 지정합니다.Specifies the number of digits for the fractional part of the seconds.

0에서 7 사이의 정수를 지정할 수 있습니다.This can be an integer from 0 to 7. Informatica의 경우 0에서 3 사이의 정수를 지정할 수 있습니다.For Informatica, this can be an integer from 0 to 3.

기본 소수 자릿수는 7(100ns)입니다.The default fractional scale is 7 (100ns).
기본 문자열 리터럴 형식Default string literal format

(하위 클라이언트에 대해 사용됨)(used for down-level client)
Informatica의 경우 hh:mm:ss[.nnnnnnn])hh:mm:ss[.nnnnnnn] for Informatica)

자세한 내용은 하위 클라이언트에 대한 이전 버전과의 호환성 섹션을 참조하세요.For more information, see the Backward Compatibility for Down-level Clients section.
범위Range 00:00:00.0000000부터 23:59:59.9999999까지(Informatica의 경우 00:00:00.000부터 23:59:59.999까지)00:00:00.0000000 through 23:59:59.9999999 (00:00:00.000 through 23:59:59.999 for Informatica)
요소 범위Element ranges hh는 0에서 23 사이에 속하는 두 자리 숫자로, 시를 나타냅니다.hh is two digits, ranging from 0 to 23, that represent the hour.

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

ss는 0에서 59 사이에 속하는 두 자리 숫자로, 초를 나타냅니다.ss is two digits, ranging from 0 to 59, that represent the second.

n*은 0에서 9999999 사이에 속하는 0부터 7자리의 숫자로, 소수 자릿수 초를 나타냅니다.n* is zero to seven digits, ranging from 0 to 9999999, that represent the fractional seconds. Informatica의 경우 n*은 0 ~ 3자릿수로, 0부터 999까지입니다.For Informatica, n* is zero to three digits, ranging from 0 to 999.
문자 길이Character length 최소 8자리(hh:mm:ss)부터 최대 16자리(hh:mm:ss.nnnnnnn)까지.8 positions minimum (hh:mm:ss) to 16 maximum (hh:mm:ss.nnnnnnn). Informatica의 경우 최댓값은 12(hh:mm:ss.nnn)입니다.For Informatica, the maximum is 12 (hh:mm:ss.nnn).
전체 자릿수, 소수 자릿수Precision, scale

(사용자는 소수 자릿수만 지정)(user specifies scale only)
아래 표를 참조하세요.See the table below.
스토리지 크기Storage size 초 소수 부분 자릿수 기본값 100ns를 기준으로 5바이트(고정)가 기본값입니다.5 bytes, fixed, is the default with the default of 100ns fractional second precision. Informatica의 경우 기본값은 초 소수 부분 자릿수 기본값 1ms를 기준으로 4바이트(고정)입니다.In Informatica, the default is 4 bytes, fixed, with the default of 1ms fractional second precision.
정확도Accuracy 100나노초(Informatica의 경우 1밀리초)100 nanoseconds (1 millisecond in Informatica)
기본값Default value 00:00:0000:00:00

이 값은 date에서 datetime2 또는 datetimeoffset으로의 암시적 변환을 위해 추가되는 날짜 부분에 사용됩니다.This value is used for the appended time part for implicit conversion from date to datetime2 or datetimeoffset.
사용자 정의 초 소수 부분 자릿수User-defined fractional second precision Yes
표준 시간대 오프셋 인식 및 유지Time zone offset aware and preservation 아니오No
일광 절약 시간제 인식Daylight saving aware 아니오No
지정한 소수 자릿수Specified scale 결과(전체 자릿수, 소수 자릿수)Result (precision, scale) 열 길이(바이트)Column length (bytes) 소수 자릿수Fractional

seconds

전체 자릿수precision
timetime (16,7) [Informatica에서 (12,3)](16,7) [(12,3) in Informatica] 5(Informatica에서 4)5 (4 in Informatica) 7(Informatica에서 3)7 (3 in Informatica)
time(0)time(0) (8,0)(8,0) 33 0-20-2
time(1)time(1) (10,1)(10,1) 33 0-20-2
time(2)time(2) (11,2)(11,2) 33 0-20-2
time(3)time(3) (12,3)(12,3) 44 3-43-4
time(4)time(4)

Informatica에서 지원되지 않습니다.Not supported in Informatica.
(13,4)(13,4) 44 3-43-4
time(5)time(5)

Informatica에서 지원되지 않습니다.Not supported in Informatica.
(14,5)(14,5) 55 5-75-7
time(6)time(6)

Informatica에서 지원되지 않습니다.Not supported in Informatica.
(15,6)(15,6) 55 5-75-7
time(7)time(7)

Informatica에서 지원되지 않습니다.Not supported in Informatica.
(16,7)(16,7) 55 5-75-7

time에 지원되는 문자열 리터럴 형식Supported String Literal Formats for time

다음 표에서는 time 데이터 형식의 유효한 문자열 리터럴 형식을 보여 줍니다.The following table shows the valid string literal formats for the time data type.

SQL ServerSQL Server 설명Description
hh:mm[:ss][:fractional seconds][AM][PM]hh:mm[:ss][:fractional seconds][AM][PM]

hh:mm[:ss][.fractional seconds][AM][PM]hh:mm[:ss][.fractional seconds][AM][PM]

hhAM[PM]hhAM[PM]

hh AM[PM]hh AM[PM]
시간 값 0은 AM 지정 여부와 관계없이 자정(AM) 이후 시간을 나타냅니다.The hour value of 0 represents the hour after midnight (AM), regardless of whether AM is specified. 시간이 0일 경우 PM을 지정할 수 없습니다.PM cannot be specified when the hour equals 0.

01부터 11까지의 시간 값은 AM 또는 PM을 지정하지 않는 경우 오전을 나타냅니다.Hour values from 01 through 11 represent the hours before noon if neither AM nor PM is specified. AM을 지정하면 이 값은 오전을 나타내고The values represent the hours before noon when AM is specified. PM을 지정하면 오후를 나타냅니다.The values represent hours after noon if PM is specified.

시간 값 12는 AM 또는 PM을 지정하지 않는 경우 정오 이후의 시간을 나타냅니다.The hour value 12 represents the hour that starts at noon if neither AM nor PM is specified. AM을 지정하면 이 값은 자정 이후의 시간을 나타내고If AM is specified, the value represents the hour that starts at midnight. PM을 지정하면 정오 이후의 시간을 나타냅니다.If PM is specified, the value represents the hour that starts at noon. 예를 들어 12:01은 12:01 PM과 마찬가지로 정오에서 1분 지난 시간이고 12:01 AM은 자정에서 1분 지난 시간입니다.For example, 12:01 is 1 minute after noon, as is 12:01 PM; and 12:01 AM is one minute after midnight. 12:01 AM을 지정하는 것은 00:01 또는 00:01 AM을 지정하는 것과 같습니다.Specifying 12:01 AM is the same as specifying 00:01 or 00:01 AM.

13부터 23까지의 시간 값은 AM 또는 PM을 지정하지 않는 경우 정오 이후의 시간을 나타냅니다.Hour values from 13 through 23 represent hours after noon if AM or PM is not specified. 또한 PM을 지정하는 경우에도 이 값은 정오 이후의 시간을 나타냅니다.The values also represent the hours after noon when PM is specified. 13부터 23까지의 시간 값을 사용할 경우 AM을 지정할 수 없습니다.AM cannot be specified when the hour value is from 13 through 23.

시간 값 24는 유효하지 않습니다.An hour value of 24 is not valid. 자정을 나타내려면 12:00 AM 또는 00:00을 사용하세요.To represent midnight, use 12:00 AM or 00:00.

밀리초 앞에는 콜론(:) 또는 마침표(.)가 올 수 있습니다.Milliseconds can be preceded by either a colon (:) or a period (.). 콜론을 사용하면 숫자는 1/1000초를 의미합니다.If a colon is used, the number means thousandths-of-a-second. 마침표를 사용하면 자릿수 하나는 1/10초를 의미하고 자릿수 두 개는 1/100초를 의미하며 자릿수 세 개는 1/1000초를 의미합니다.If a period is used, a single digit means tenths-of-a-second, two digits mean hundredths-of-a-second, and three digits mean thousandths-of-a-second. 예를 들어 12:30:20:1은 12:30분에서 20과 1/1000초가 지난 시간을 의미하고 12:30:20.1은 12:30분에서 20과 1/10초가 지난 시간을 의미합니다.For example, 12:30:20:1 indicates 20 and one-thousandth seconds past 12:30; 12:30:20.1 indicates 20 and one-tenth seconds past 12:30.
ISO 8601ISO 8601 참고Notes
hh:mm:sshh:mm:ss

hh:mm[:ss][.fractional seconds]hh:mm[:ss][.fractional seconds]
hh는 0에서 23 사이에 속하는 두 자리 숫자로, 표준 시간대 오프셋의 시간(시간)을 나타냅니다.hh is two digits, ranging from 0 to 23, that represent the number of hours in the time zone offset.

mm은 0에서 59 사이에 속하는 두 자리 숫자로, 표준 시간대 오프셋의 추가 시간(분)을 나타냅니다.mm is two digits, ranging from 0 to 59, that represent the number of additional minutes in the time zone offset.
ODBCODBC 참고Notes
{t 'hh:mm:ss[.fractional seconds]'}{t 'hh:mm:ss[.fractional seconds]'} ODBC API에 따라 다릅니다.ODBC API specific.

ANSI 및 ISO 8601 표준 준수Compliance with ANSI and ISO 8601 Standards

ISO 8601(5.3.2 및 5.3)에서 정의된 대로 자정에 24시를 사용하는 형식과 59를 초과하는 초에 윤초를 사용하는 형식은 이전 버전과의 호환성과 기존 날짜 및 시간 형식과의 일관성을 유지하기 위해 지원되지 않습니다.Using hour 24 to represent midnight and leap second over 59 as defined by ISO 8601 (5.3.2 and 5.3) are not supported to be backward compatible and consistent with the existing date and time types.

하위 클라이언트에 대해 사용되는 기본 문자열 리터럴 형식은 hh:mm:ss[.nnnnnnn]로 정의되는 SQL 표준 형식에 부합됩니다.The default string literal format (used for down-level client) will align with the SQL standard form, which is defined as hh:mm:ss[.nnnnnnn]. 이러한 형식은 초 소수 부분 자릿수를 제외하고 TIME에 대한 ISO 8601의 정의와 유사합니다.This format resembles the ISO 8601 definition for TIME excluding fractional seconds.

하위 클라이언트에 대한 이전 버전과의 호환성Backward Compatibility for Down-level Clients

일부 하위 클라이언트는 time, date, datetime2datetimeoffset 데이터 형식을 지원하지 않습니다.Some down-level clients do not support the time, date, datetime2 and datetimeoffset data types. 다음 표에서는 상위 SQL ServerSQL Server 인스턴스와 하위 클라이언트 간 형식 매핑을 보여 줍니다.The following table shows the type mapping between an up-level instance of SQL ServerSQL Server and down-level clients.

SQL ServerSQL Server 데이터 형식data type 하위 클라이언트에 전달된 기본 문자열 리터럴 형식Default string literal format passed to down-level client 하위 수준 ODBCDown-level ODBC 하위 수준 OLEDBDown-level OLEDB 하위 수준 JDBCDown-level JDBC 하위 수준 SQLCLIENTDown-level SQLCLIENT
timetime hh:mm:ss[.nnnnnnn]hh:mm:ss[.nnnnnnn] SQL_WVARCHAR 또는 SQL_VARCHARSQL_WVARCHAR or SQL_VARCHAR DBTYPE_WSTR 또는 DBTYPE_STRDBTYPE_WSTRor DBTYPE_STR Java.sql.StringJava.sql.String String 또는 SqStringString or SqString
datedate YYYY-MM-DDYYYY-MM-DD SQL_WVARCHAR 또는 SQL_VARCHARSQL_WVARCHAR or SQL_VARCHAR DBTYPE_WSTR 또는 DBTYPE_STRDBTYPE_WSTRor DBTYPE_STR Java.sql.StringJava.sql.String String 또는 SqStringString or SqString
datetime2datetime2 YYYY-MM-DD hh:mm:ss[.nnnnnnn]YYYY-MM-DD hh:mm:ss[.nnnnnnn] SQL_WVARCHAR 또는 SQL_VARCHARSQL_WVARCHAR or SQL_VARCHAR DBTYPE_WSTR 또는 DBTYPE_STRDBTYPE_WSTRor DBTYPE_STR Java.sql.StringJava.sql.String String 또는 SqStringString or SqString
datetimeoffsetdatetimeoffset YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mmYYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm SQL_WVARCHAR 또는 SQL_VARCHARSQL_WVARCHAR or SQL_VARCHAR DBTYPE_WSTR 또는 DBTYPE_STRDBTYPE_WSTRor DBTYPE_STR Java.sql.StringJava.sql.String String 또는 SqStringString or SqString

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 cannot 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)

time(n) 데이터 형식을 다른 Date 및 Time 형식으로 변환Converting time(n) Data Type to Other Date and Time Types

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

time(n) 으로 변환되면 시간, 분 및 초가 복사됩니다.When the conversion is to time(n), the hour, minute, and seconds are copied. 대상 전체 자릿수가 원본 전체 자릿수보다 작으면 초 소수 부분 자릿수가 대상 전체 자릿수에 맞게 반올림됩니다.When the destination precision is less than the source precision, the fractional seconds is rounded up to fit the destination precision. 다음 예에서는 time(4) 값을 time(3) 값으로 변환한 결과를 보여 줍니다.The following example shows the results of converting a time(4) value to a time(3) value.

DECLARE @timeFrom time(4) = '12:34:54.1237';  
DECLARE @timeTo time(3) = @timeFrom;  
  
SELECT @timeTo AS 'time(3)', @timeFrom AS 'time(4)';  
  
--Results  
--time(3)      time(4)  
-------------- -------------  
--12:34:54.124 12:34:54.1237  
--  
--(1 row(s) affected)  

변환이 date에서 일어나는 경우 변환이 실패하고, "피연산자 유형 충돌: date는 time과 호환되지 않습니다"라는 오류 메시지 206이 발생합니다.If the conversion is to date, the conversion fails, and error message 206 is raised: "Operand type clash: date is incompatible with time".

datetime으로 변환되는 경우 시, 분, 초 값이 복사되고 날짜 구성 요소가 '1900-01-01'로 설정됩니다.When the conversion is to datetime, hour, minute, and second values are copied; and the date component is set to '1900-01-01'. time(n) 값에 대한 초 소수 부분 자릿수의 전체 자릿수가 세 자리보다 크면 datetime 결과가 잘립니다.When the fractional seconds precision of the time(n) value is greater than three digits, the datetime result will be truncated. 다음 코드에서는 time(4) 값을 datetime 값으로 변환한 결과를 보여 줍니다.The following code shows the results of converting a time(4) value to a datetime value.

DECLARE @time time(4) = '12:15:04.1237';  
DECLARE @datetime datetime= @time;  
SELECT @time AS '@time', @datetime AS '@datetime';  
  
--Result  
--@time         @datetime  
--------------- -----------------------  
--12:15:04.1237 1900-01-01 12:15:04.123  
--  
--(1 row(s) affected)  
  

smalldatetime으로 변환되는 경우 날짜는 '1900-01-01'로 설정되고 시간 및 분 값은 반올림됩니다.When the conversion is to smalldatetime, the date is set to '1900-01-01', and the hour and minute values are rounded up. 초 및 소수 자릿수 초는 0으로 설정됩니다.The seconds and fractional seconds are set to 0. 다음 코드에서는 time(4) 값을 smalldatetime 값으로 변환한 결과를 보여 줍니다.The following code shows the results of converting a time(4) value to a smalldatetime value.

-- Shows rounding up of the minute value.  
DECLARE @time time(4) = '12:15:59.9999';   
DECLARE @smalldatetime smalldatetime= @time;    
SELECT @time AS '@time', @smalldatetime AS '@smalldatetime';   
  
--Result  
@time            @smalldatetime  
---------------- -----------------------  
12:15:59.9999    1900-01-01 12:16:00--  
--(1 row(s) affected)  
  
-- Shows rounding up of the hour value.  
DECLARE @time time(4) = '12:59:59.9999';   
DECLARE @smalldatetime smalldatetime= @time;    
  
SELECT @time AS '@time', @smalldatetime AS '@smalldatetime';  
@time            @smalldatetime  
---------------- -----------------------  
12:59:59.9999    1900-01-01 13:00:00  
  
(1 row(s) affected)  
  

datetimeoffset(n) 으로 변환되는 경우 날짜는 '1900-01-01'로 복사되고 시간은 복사됩니다.If the conversion is to datetimeoffset(n), the date is set to '1900-01-01', and the time is copied. 표준 시간대 오프셋이 +00:00으로 설정됩니다.The time zone offset is set to +00:00. time(n) 값에 대한 초 소수 부분 자릿수의 전체 자릿수가 datetimeoffset(n) 값의 전체 자릿수보다 크면 값이 이에 맞게 반올림됩니다.When the fractional seconds precision of the time(n) value is greater than the precision of the datetimeoffset(n) value, the value is rounded up to fit. 다음 예에서는 time(4) 값을 datetimeoffset(3) 형식으로 변환한 결과를 보여 줍니다.The following example shows the results of converting a time(4) value to a datetimeoffset(3) type.

DECLARE @time time(4) = '12:15:04.1237';  
DECLARE @datetimeoffset datetimeoffset(3) = @time;  
  
SELECT @time AS '@time', @datetimeoffset AS '@datetimeoffset';  
  
--Result  
--@time         @datetimeoffset  
--------------- ------------------------------  
--12:15:04.1237 1900-01-01 12:15:04.124 +00:00  
--  
--(1 row(s) affected)  
  

datetime2(n) 로 변환되는 경우 날짜는 '1900-01-01'로 설정되고 시간 구성 요소가 복사되며 표준 시간대 오프셋은 00:00으로 설정됩니다.When converting to datetime2(n), the date is set to '1900-01-01', the time component is copied, and the time zone offset is set to 00:00. datetime2(n) 값의 초 소수 부분 자릿수의 전체 자릿수가 time(n) 값보다 크면 값이 이에 맞게 반올림됩니다.When the fractional seconds precision of the datetime2(n) value is greater than the time(n) value, the value will be rounded up to fit. 다음 예에서는 time(4) 값을 datetime2(2) 값으로 변환한 결과를 보여 줍니다.The following example shows the results of converting a time(4) value to a datetime2(2) value.

DECLARE @time time(4) = '12:15:04.1237';  
DECLARE @datetime2 datetime2(3) = @time;  
  
SELECT @datetime2 AS '@datetime2', @time AS '@time';  
  
--Result  
--@datetime2              @time  
------------------------- -------------  
--1900-01-01 12:15:04.124 12:15:04.1237  
--  
--(1 row(s) affected)  

문자열 리터럴을 time(n)으로 변환Converting String Literals to time(n)

문자열에 포함된 모든 부분의 형식이 올바른 경우 문자열 리터럴에서 날짜/시간 유형으로 변환할 수 있습니다.Conversions from string literals to date and time types are permitted if all parts of the strings are in valid formats. 그렇지 않으면 런타임 오류가 발생합니다.Otherwise, a runtime error is raised. 날짜/시간 유형에서 문자열 리터럴로의 암시적 변환 또는 명시적 변환에 스타일을 지정하지 않은 경우 현재 세션의 기본 형식이 지정됩니다.Implicit conversions or explicit conversions that do not specify a style, from date and time types to string literals will be in the default format of the current session. 다음 표에서는 문자열 리터럴을 time 데이터 형식으로 변환하는 규칙을 보여 줍니다.The following table shows the rules for converting a string literal to the time data type.

입력 문자열 리터럴Input string literal 변환 규칙Conversion Rule
ODBC DATEODBC DATE ODBC 문자열 리터럴은 datetime 데이터 형식으로 매핑됩니다.ODBC string literals are mapped to the datetime data type. ODBC DATETIME 리터럴에서 time 형식으로 할당하면 변환 규칙으로 정의된 대로 datetime과 이러한 형식 간에 암시적 변환이 발생합니다.Any assignment operation from ODBC DATETIME literals into timetypes will cause an implicit conversion between datetime and this type as defined by the conversion rules.
ODBC TIMEODBC TIME 위의 ODBC DATE 규칙을 참조하세요.See ODBC DATE rule above.
ODBC DATETIMEODBC DATETIME 위의 ODBC DATE 규칙을 참조하세요.See ODBC DATE rule above.
DATE만DATE only 기본값이 제공됩니다.Default values are supplied.
TIME만TIME only 중요하지 않음Trivial
TIMEZONE만TIMEZONE only 기본값이 제공됩니다.Default values are supplied.
DATE+TIMEDATE + TIME 입력 문자열의 TIME 부분이 사용됩니다.The TIME part of the input string is used.
DATE+TIMEZONEDATE + TIMEZONE 허용되지 않습니다.Not allowed.
TIME+TIMEZONETIME + TIMEZONE 입력 문자열의 TIME 부분이 사용됩니다.The TIME part of the input string is used.
DATE+TIME+TIMEZONEDATE + TIME + TIMEZONE 로컬 DATETIME의 TIME 부분이 사용됩니다.The TIME part of local DATETIME will be used.

Examples

1.A. 날짜 및 시간 데이터 형식 비교Comparing date and time Data Types

다음 예에서는 문자열을 각 datetime 데이터 형식으로 캐스팅하는 결과를 비교합니다.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

2.B. time(7) 열에 유효한 시간 문자열 리터럴 삽입Inserting Valid Time String Literals into a time(7) Column

다음 표에서는 time(7) 데이터 형식의 열에 삽입할 수 있는 여러 문자열 리터럴과 해당 열에 저장되는 값을 보여 줍니다.The following table lists different string literals that can be inserted into a column of data type time(7) with the values that are then stored in that column.

문자열 리터럴 형식 유형String literal format type 삽입되는 문자열 리터럴Inserted string literal 저장되는 time(7) 값time(7) value that is stored 설명Description
SQL ServerSQL Server '01:01:01:123AM''01:01:01:123AM' 01:01:01.123000001:01:01.1230000 콜론(:)이 초 소수 부분 자릿수의 전체 자릿수 앞에 오면 소수 자릿수는 세 자리를 초과할 수 없으며 초과할 경우 오류가 발생합니다.When a colon (:) comes before fractional seconds precision, scale cannot exceed three positions or an error will be raised.
SQL ServerSQL Server '01:01:01.1234567 AM''01:01:01.1234567 AM' 01:01:01.123456701:01:01.1234567 AM 또는 PM을 지정하면 시간이 리터럴 AM 또는 PM 없이 24시간 형식으로 저장됩니다.When AM or PM is specified, the time is stored in 24-hour format without the literal AM or PM
SQL ServerSQL Server '01:01:01.1234567 PM''01:01:01.1234567 PM' 13:01:01.123456713:01:01.1234567 AM 또는 PM을 지정하면 시간이 리터럴 AM 또는 PM 없이 24시간 형식으로 저장됩니다.When AM or PM is specified, the time is stored in 24-hour format without the literal AM or PM
SQL ServerSQL Server '01:01:01.1234567PM''01:01:01.1234567PM' 13:01:01.123456713:01:01.1234567 AM 또는 PM 앞의 공백은 선택 사항입니다.A space before AM or PM is optional.
SQL ServerSQL Server '01AM''01AM' 01:00:00.000000001:00:00.0000000 시간만 지정하면 다른 값은 모두 0이 됩니다.When only the hour is specified, all other values are 0.
SQL ServerSQL Server '01 AM''01 AM' 01:00:00.000000001:00:00.0000000 AM 또는 PM 앞의 공백은 선택 사항입니다.A space before AM or PM is optional.
SQL ServerSQL Server '01:01:01''01:01:01' 01:01:01.000000001:01:01.0000000 초 소수 부분 자릿수의 전체 자릿수를 지정하지 않으면 데이터 형식에 따라 정의되는 각 자릿수는 0입니다.When fractional seconds precision is not specified, each position that is defined by the data type is 0.
ISO 8601ISO 8601 '01:01:01.1234567''01:01:01.1234567' 01:01:01.123456701:01:01.1234567 ISO 8601을 따르려면 AM 또는 PM 대신 24시간 형식을 사용하세요.To comply with ISO 8601, use 24-hour format, not AM or PM.
ISO 8601ISO 8601 '01:01:01.1234567 +01:01''01:01:01.1234567 +01:01' 01:01:01.123456701:01:01.1234567 TZD(Time Zone Difference)는 선택 사항이며 입력할 수 있지만 저장되지 않습니다.The optional time zone difference (TZD) is allowed in the input but is not stored.

C.C. 각 date 및 time 날짜 형식의 열에 시간 문자열 리터럴 삽입Inserting Time String Literal into Columns of Each date and time Date Type

다음 표에서 첫 번째 열은 두 번째 열의 날짜 또는 시간 데이터 형식의 데이터베이스 테이블 열에 삽입될 시간 문자열 리터럴을 보여 줍니다.In the following table the first column shows a time string literal to be inserted into a database table column of the date or time data type shown in the second column. 세 번째 열은 데이터베이스 테이블 열에 저장될 값을 보여 줍니다.The third column shows the value that will be stored in the database table column.

삽입되는 문자열 리터럴Inserted string literal 열 데이터 형식Column data type 열에 저장되는 값Value that is stored in column 설명Description
'12:12:12.1234567''12:12:12.1234567' time(7)time(7) 12:12:12.123456712:12:12.1234567 초 소수 부분 자릿수의 전체 자릿수가 열에 대해 지정한 값을 초과하면 문자열이 오류 없이 잘립니다.If the fractional seconds precision exceeds the value specified for the column, the string will be truncated without error.
'2007-05-07''2007-05-07' datedate NULLNULL 시간 값이 있으면 INSERT 문이 실패합니다.Any time value will cause the INSERT statement to fail.
'12:12:12''12:12:12' smalldatetimesmalldatetime 1900-01-01 12:12:001900-01-01 12:12:00 초 소수 부분 자릿수의 전체 자릿수 값이 있으면 INSERT 문이 실패합니다.Any fractional seconds precision value will cause the INSERT statement to fail.
'12:12:12.123''12:12:12.123' datetimedatetime 1900-01-01 12:12:12.1231900-01-01 12:12:12.123 초 전체 자릿수가 세 자리를 초과하면 INSERT 문이 실패합니다.Any second precision longer than three positions will cause the INSERT statement to fail.
'12:12:12.1234567''12:12:12.1234567' datetime2(7)datetime2(7) 1900-01-01 12:12:12.12345671900-01-01 12:12:12.1234567 초 소수 부분 자릿수의 전체 자릿수가 열에 대해 지정한 값을 초과하면 문자열이 오류 없이 잘립니다.If the fractional seconds precision exceeds the value specified for the column, the string will be truncated without error.
'12:12:12.1234567''12:12:12.1234567' datetimeoffset(7)datetimeoffset(7) 1900-01-01 12:12:12.1234567 +00:001900-01-01 12:12:12.1234567 +00:00 초 소수 부분 자릿수의 전체 자릿수가 열에 대해 지정한 값을 초과하면 문자열이 오류 없이 잘립니다.If the fractional seconds precision exceeds the value specified for the column, the string will be truncated without error.

참고 항목See Also

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