문제

우리 모두는 T-SQL의 문자열 조작 기능이 때때로 아쉬운 점이 많다는 것을 알고 있습니다.

T-SQL에서 오른쪽 정렬 텍스트 열로 출력해야 하는 숫자 필드가 있습니다.예:

Value
----------
   143.55
  3532.13
     1.75

어떻게 하시겠습니까?좋은 솔루션은 명확하고 간결해야 하지만 "너무 영리하다"는 점도 있다는 점을 기억하세요.

나는 이것이 잘못된 장소라는 데 동의합니다. 하지만 때로는 우리가 통제할 수 없는 힘에 의해 갇히게 될 때도 있습니다.

감사합니다.

도움이 되었습니까?

해결책

그만큼 STR 기능 선택적 길이 인수와 소수 자릿수 인수가 있습니다.

SELECT STR(123.45, 6, 1)

------
 123.5

(1 row(s) affected)

다른 팁

가장 쉬운 방법은 왼쪽으로 패딩하는 것입니다.

CREATE FUNCTION PadLeft(@PadString nvarchar(100), @PadLength int)
RETURNS nvarchar(200)
AS
begin
return  replicate(' ',@padlength-len(@PadString)) + @PadString
end
go
print dbo.PadLeft('123.456', 20)
print dbo.PadLeft('1.23', 20)

SQL에서 이 작업을 수행해야 하는 경우 다음 코드를 사용할 수 있습니다(이 코드에서는 40자보다 큰 숫자가 없다고 가정합니다).

SELECT REPLICATE(' ', 40 - LEN(CAST(numColumn as varchar(40)))) + 
CAST(numColumn AS varchar(40)) FROM YourTable
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top