STR(Transact-SQL)
숫자 데이터에서 변환된 문자 데이터를 반환합니다.
구문
STR ( float_expression [ , length [ , decimal ] ] )
인수
float_expression
소수점이 있는 근사치(float) 데이터 형식의 식입니다.length
총 길이입니다. 소수점, 부호, 숫자 및 공백을 포함한 길이입니다. 기본값은 10입니다.decimal
소수 자릿수(소수점 오른쪽의 자릿수)입니다. decimal은 16보다 작거나 같아야 합니다. decimal이 16보다 크면 소수점 오른쪽의 16자리까지로 결과가 잘립니다.
반환 형식
varchar
주의
제공되는 경우, STR로의 length 및 decimal 매개 변수에 대한 값은 양수여야 합니다. 숫자는 기본적으로 또는 decimal 매개 변수가 0인 경우 정수로 반올림됩니다. 지정된 길이는 소수점 앞의 숫자 부분과 숫자 부호(있는 경우)를 더한 것보다 크거나 같아야 합니다. 짧은 float_expression은 지정된 길이에서 오른쪽 정렬되며 긴 float_expression은 지정된 십진 자릿수에서 잘립니다. 예를 들어 STR(12**,10)의 결과는 12가 됩니다. 이는 결과 집합에서 오른쪽 정렬됩니다. 그러나 STR(1223,**2)은 결과 집합을 **로 자릅니다. 문자열 함수는 중첩될 수 있습니다.
[!참고]
유니코드 데이터로 변환하려면 CONVERT 또는 CAST 변환 함수에서 STR를 사용합니다.
예
다음 예에서는 다섯 자리의 숫자와 소수점으로 구성된 식을 여섯 자리 문자열로 변환합니다. 숫자의 소수 부분은 소수 첫째 자리로 반올림됩니다.
SELECT STR(123.45, 6, 1);
GO
결과 집합은 다음과 같습니다.
------
123.5
(1 row(s) affected)
식이 지정한 길이를 초과하면 문자열이 지정된 길이만큼 **를 반환합니다.
SELECT STR(123.45, 2, 2);
GO
결과 집합은 다음과 같습니다.
--
(1 row(s) affected)
숫자 데이터가 STR 내에서 중첩되어도 결과는 지정된 형식의 문자 데이터입니다.
SELECT STR (FLOOR (123.45), 8, 3;)
GO
결과 집합은 다음과 같습니다.
--------
123.000
(1 row(s) affected)