2017-12-19 24 views
-1

변수의 지속 기간은 얼마이고 길이와 다른 점은 무엇입니까?기간은 얼마이며 길이와 다른 점은 무엇입니까? 그리고 왜 duration = 1 인 char 변수가 숫자로 변환 될 때, 지속 시간은 8이됩니다.

왜 입력 함수를 사용하여 duration = 1 인 char 변수를 숫자로 변환 할 때 새로운 숫자 변수의 지속 시간은 8입니까?

Ex. 0에서 9까지의 숫자가 포함 된 문자열 변수입니다 (1 자리 만). 따라서 duration = 1입니다. 숫자로 변환하면 숫자 변수에 0에서 9까지의 숫자가 포함되지만 기간은 8입니다.

+0

이것은 무엇입니까? https://v8doc.sas.com/sashtml/lrcon/z0990883.htm –

+0

감사하지만 날짜의 컨텍스트에는 포함되지 않습니다. –

+0

SAS 변수에는 'duration'이라는 속성이 없습니다. 숫자, 문자, 길이, 형식 및 정보와 같은 다양한 특성을 가진 단 두 가지 유형이 있습니다. – Reeza

답변

0

변수 정의와 관련하여 기간이 표시되는 곳이 확실치 않습니다. 지속 시간은 시간의 척도입니다. 아마도 너비는입니까?

변수에 대해 너비에 대해 이야기하면 변수를 문자열로 표시하는 데 몇 개의 문자가 필요한지 얘기하고 있습니다. 형식 또는 정보를 지정할 때 너비을 포함하면 형식 이름 다음과 마침표 앞에 사용하려고합니다. 텍스트 파일에서 한 자리 숫자를 읽는다면 너비가 1 인 정보를 사용할 것입니다. 또는 0과 9 사이의 정수를 쓰려면 너비가 1 인 형식을 사용할 수 있습니다. 그러나 사용 된 너비 형식 또는 정보에서 변수의 길이와 독립적입니다.

변수의 길이 는 SAS는 데이터 셋의 변수를 저장하기 위해 사용되는 바이트 수이다. SAS는 부동 소수점 수와 고정 길이 문자열의 두 가지 유형의 변수 만 가지고 있습니다.

숫자의 경우 SAS는 64 비트 부동 소수점 숫자를 사용하므로 8 바이트를 사용합니다. 따라서 숫자가 8보다 큰 숫자를 정의 할 수 없습니다. 숫자 변수의 길이를 8 미만으로 설정하면 SAS는 일부 비트를 가제로 버려서 잘린 값을 저장하므로 값.

문자 변수의 경우 길이는 저장할 바이트 수입니다. 단일 바이트 인코딩 (예 : WLATIN1)을 사용하면 각 문자는 단 1 바이트 만 사용합니다. 그러나 UTF-8 인코딩을 사용하면 각각의 개별 문자는 1 ~ 4 바이트의 저장 공간을 차지할 수 있습니다.

예를 들어 DATE9. 형식의 너비는 9이며 9자를 사용하여 날짜 값을 인쇄하는 데 사용됩니다. 그러나 날짜가 숫자이기 때문에 변수를 저장하는 데 필요한 길이는 9가 아닌 8이됩니다.

또는 하나의 숫자가 포함 된 길이가 1 인 문자 변수를 예로 듭니다. 너비가 단지 하나 인 F1.과 같은 정보를 사용하여 숫자로 변환 할 수 있습니다. 그러나 숫자를 부동 소수점 값으로 표시하는 데 여전히 8 바이트가 걸립니다. 그리고 SAS는 최소한 3 개의 데이터 세트를 데이터 세트에 저장해야합니다. (IBM 메인 프레임에서 숫자 변수의 최소 길이는 다른 부동 소수점 표현을 사용하기 때문에 3 대신 2입니다.)

+0

네 말이 맞아, 길이 대 길이 야. 많이 감사합니다. –