DOB를 숫자 나이로 변환 한 다음 SQL Server의 다른 연령 그룹에 나이 값을 할당하고 싶습니다.쿼리 된 값을 선언하고 CASE에서 사용하는 방법?
나는 첫 번째 단계를 수행하는 방법을 발견했으며 두 번째 단계는 첫 번째 단계의 결과를 변수로 설정하고 CASE 문에서 비교하도록해야합니다. 그러나, 나는 선언하고 변수를 설정하고 CASE에서 그것을 사용할지 모르겠다. CAST (-가) "로 설정 FLOOR ((CAST (에 GetDate() 정수 할 수있는 방법이 있나요 :
SELECT FirstName, LastName,
CAST(
CASE
WHEN FLOOR((CAST (GetDate() AS INTEGER) - CAST(dob AS INTEGER))/365.25) < 18
THEN 'Under 18'
WHEN FLOOR((CAST (GetDate() AS INTEGER) - CAST(dob AS INTEGER))/365.25) BETWEEN 19 AND 30
THEN '19-30'
WHEN FLOOR((CAST (GetDate() AS INTEGER) - CAST(dob AS INTEGER))/365.25) > 30
THEN 'Over 30'
ELSE 'ERROR'
END AS VARCHAR(10)) AS Age
FROM Student
내 질문 :
나는 내가 다음과 같이 바보 같은 방법으로 원하는 테이블을 가지고 DOB AS INTEGER))/365.25) "를 변수로 사용하여 CASE 문에서 사용합니까?
* 이름, 성 및 dbo는 학생 표의 열입니다.
감사합니다.
고든 고든, 고든! –