Ok 그래서 Technet에서 이것에 대한 답을 검색했지만 아무 소용이 없습니다.
두 개의 String 변수와 연결된 정수 변수를 인쇄하고 싶습니다.
이것은 실행되지 않는 내 코드입니다.
print 'There are ' + @Number + ' alias combinations did not match a record'
이런 기본적인 기능인 것 같아서 T-SQL에서는 불가능하다고 상상할 수 없었습니다. 하지만 가능하지 않다면 그렇게 말 해주세요. 정답을 찾을 수없는 것 같습니다.
답변
declare @x INT = 1 /* Declares an integer variable named "x" with the value of 1 */
PRINT 'There are ' + CAST(@x AS VARCHAR) + ' alias combinations did not match a record' /* Prints a string concatenated with x casted as a varchar */
답변
숫자는 문자열 보다 우선 순위 가 높 으므로 +
연산자는 추가하기 전에 문자열을 숫자로 변환하려고합니다.
다음과 같이 할 수 있습니다.
print 'There are ' + CONVERT(varchar(10),@Number) +
' alias combinations did not match a record'
또는 (다소 제한적인) 형식 지정 기능을 사용하십시오 RAISERROR
.
RAISERROR('There are %i alias combinations did not match a record',10,1,@Number)
WITH NOWAIT
답변
문자열과 숫자 문자열을 결합 할 수 없습니다. CONVERT 또는 CAST를 사용하여 숫자를 문자열로 변환해야합니다.
예를 들면 :
print 'There are ' + cast(@Number as varchar) + ' alias combinations did not match a record'
또는
print 'There are ' + convert(varchar,@Number) + ' alias combinations did not match a record'
답변
인쇄 할 정수 및 10 진수 값을 설정하고 초기 값 을 설정했는지 다시 확인하십시오 .
이 샘플은 빈 줄을 인쇄합니다.
declare @Number INT
print 'The number is : ' + CONVERT(VARCHAR, @Number)
이 샘플은 인쇄 중입니다.-> 숫자는 다음과 같습니다. 1
declare @Number INT = 1
print 'The number is : ' + CONVERT(VARCHAR, @Number)
답변
이것을 시도해 볼 수 있습니다.
declare @Number INT = 5
print 'There are ' + CONVERT(VARCHAR, @Number) + ' alias combinations did not match a record'