>데이터 베이스 >MySQL 튜토리얼 >T-SQL에서 숫자와 문자열을 올바르게 연결하여 숫자 형식을 지정하는 방법은 무엇입니까?

T-SQL에서 숫자와 문자열을 올바르게 연결하여 숫자 형식을 지정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-18 17:33:14388검색

How to Correctly Concatenate Numbers and Strings in T-SQL to Format Numbers?

T-SQL에서 숫자와 문자열을 연결하여 숫자 형식을 지정하는 방법

시나리오

정수 값을 연결하는 ActualWeightDIMS 함수를 만들었습니다. 형식화된 문자열로 표시할 실제 무게, 길이, 너비 및 높이를 나타냅니다. 하지만 SELECT 문으로 함수를 호출하면 varchar 'x'를 정수로 변환할 때 변환 실패를 나타내는 오류가 표시됩니다.

문제

오류는 함수의 정수 연결이 잘못되어 발생합니다. 문자열이 있는 매개변수. SQL Server는 문자열('x')에 정수(@Actual_Dims_Lenght)를 추가하는 것을 수학 연산으로 해석하여 변환 오류를 발생시킵니다.

해결책

이 문제를 해결하려면 문자열과 연결하기 전에 정수 매개변수를 VARCHAR로 명시적으로 변환해야 합니다. 함수를 수정하는 방법은 다음과 같습니다.

SET @ActualWeightDIMS =
     CAST(@Actual_Dims_Lenght AS VARCHAR(16)) + 'x' +
     CAST(@Actual_Dims_Width  AS VARCHAR(16)) + 'x' +
     CAST(@Actual_Dims_Height  AS VARCHAR(16))

정수 매개변수를 VARCHAR로 캐스팅하면 작업이 문자열 연결로 처리되어 원하는 형식의 출력이 생성됩니다.

추가 고려 사항

ASP.net 페이지에서는 사용자가 무게나 치수만 선택할 수 있다고 언급하셨습니다. SQL 측에서 이 유효성 검사를 처리해야 하는지 물으셨습니다. 꼭 필요한 것은 아니지만 추가적인 안전 계층을 제공할 수 있습니다. 사용자가 치수를 선택할 때 세 가지 치수 값(길이, 너비 및 높이)이 모두 NULL이 아닌지 확인하기 위해 데이터베이스에 CHECK 제약 조건을 추가할 수 있습니다. 이렇게 하면 함수가 부정확하거나 불완전한 결과를 반환하는 것을 방지할 수 있습니다.

위 내용은 T-SQL에서 숫자와 문자열을 올바르게 연결하여 숫자 형식을 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.