STR(Transact-SQL)STR (Transact-SQL)

적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions) 예Azure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database 예Azure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance 예Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics 예병렬 데이터 웨어하우스Parallel Data Warehouseyes병렬 데이터 웨어하우스Parallel Data Warehouse적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions) 예Azure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database 예Azure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance 예Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics 예병렬 데이터 웨어하우스Parallel Data Warehouseyes병렬 데이터 웨어하우스Parallel Data Warehouse

숫자 데이터에서 변환된 문자 데이터를 반환합니다.Returns character data converted from numeric data. 문자 데이터는 지정된 길이와 소수 자릿수를 사용하여 오른쪽에 맞춰집니다.The character data is right-justified, with a specified length and decimal precision.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

STR ( float_expression [ , length [ , decimal ] ] )  

注意

SQL Server 2014 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

인수Arguments

float_expressionfloat_expression
소수점이 있는 근사치(float) 데이터 형식의 식입니다.Is an expression of approximate numeric (float) data type with a decimal point.

lengthlength
총 길이입니다.Is the total length. 소수점, 부호, 숫자 및 공백을 포함한 길이입니다.This includes decimal point, sign, digits, and spaces. 기본값은 10입니다.The default is 10.

decimaldecimal
소수 자릿수(소수점 오른쪽의 자릿수)입니다.Is the number of places to the right of the decimal point. decimal 은 16보다 작거나 같아야 합니다.decimal must be less than or equal to 16. decimal 이 16보다 크면 결과는 소수점 오른쪽의 16자리까지로 잘립니다.If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point.

반환 형식Return Types

varcharvarchar

설명Remarks

STR에 대한 lengthdecimal 매개 변수가 제공되는 경우 해당 값은 양수여야 합니다.If supplied, the values for length and decimal parameters to STR should be positive. 숫자는 기본적으로 또는 decimal 매개 변수가 0인 경우 정수로 반올림됩니다.The number is rounded to an integer by default or if the decimal parameter is 0. 지정된 길이는 소수점 앞의 숫자 부분과 숫자 부호(있는 경우)를 더한 것보다 크거나 같아야 합니다.The specified length should be greater than or equal to the part of the number before the decimal point plus the number's sign (if any). 짧은 float_expression 은 지정된 길이에서 오른쪽 정렬되며 긴 float_expression 은 지정된 십진 자릿수에서 잘립니다.A short float_expression is right-justified in the specified length, and a long float_expression is truncated to the specified number of decimal places. 예를 들어 STR(12, 10)의 결과는 12가 됩니다.For example, STR(12, 10) yields the result of 12. 이는 결과 집합에서 오른쪽 정렬됩니다.This is right-justified in the result set. 그러나 STR(1223, 2)은 결과 집합을 **로 자릅니다.However, STR(1223, 2) truncates the result set to **. 문자열 함수는 중첩될 수 있습니다.String functions can be nested.

注意

유니코드 데이터로 변환하려면 CONVERT 또는 CAST 변환 함수에서 STR를 사용합니다.To convert to Unicode data, use STR inside a CONVERT or CAST conversion function.

예제Examples

다음 예에서는 다섯 자리의 숫자와 소수점으로 구성된 식을 여섯 자리 문자열로 변환합니다.The following example converts an expression that is made up of five digits and a decimal point to a six-position character string. 숫자의 소수 부분은 소수 첫째 자리로 반올림됩니다.The fractional part of the number is rounded to one decimal place.

SELECT STR(123.45, 6, 1);  
GO  

결과 집합은 다음과 같습니다.Here is the result set.

------  
 123.5  
  
(1 row(s) affected)  

식이 지정한 길이를 초과하면 문자열이 지정된 길이만큼 **를 반환합니다.When the expression exceeds the specified length, the string returns ** for the specified length.

SELECT STR(123.45, 2, 2);  
GO  

결과 집합은 다음과 같습니다.Here is the result set.

--  
**  
  
(1 row(s) affected)  

숫자 데이터가 STR 내에서 중첩되어도 결과는 지정된 형식의 문자 데이터입니다.Even when numeric data is nested within STR, the result is character data with the specified format.

SELECT STR (FLOOR (123.45), 8, 3);
GO  

결과 집합은 다음과 같습니다.Here is the result set.

--------  
 123.000  
  
(1 row(s) affected)  

참고 항목See Also

CAST 및 CONVERT(Transact-SQL)CAST and CONVERT (Transact-SQL)
형식 (Transact-SQL)FORMAT (Transact-SQL)
문자열 함수(Transact-SQL)String Functions (Transact-SQL)