값이 Null 일때..
계산을 못하니..
필드가 null 일시 0 으로 처리하면 될 것 같네요.
아래는 -.- Book Online 도움말 입니다. 수고하세요..
Coalesce(a, 0) = A필드가 Null 일시 0을 반환합니다.
COALESCE
해당 인수 중에서 Null이 아닌 첫 번째 식을 반환합니다.
구문
COALESCE ( expression [ ,...n ] )
인수
expression
임의의 형식의 식입니다.
n
여러 식을 지정할 수 있음을 나타내는 자리 표시자입니다. 모든 식이 동일한 형식이거나 동일한 형식으로 암시적 변환이 가능해야 합니다.
반환 형식
expression과 동일한 값을 반환합니다.
비고
모든 인수가 NULL이면 COALESCE는 NULL을 반환합니다.
COALESCE(expression1,...n)는 다음 CASE 함수와 동일합니다.
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL
예제
다음 예제에는 직원의 연봉 정보에 대한 3개의 열 hourly_wage, salary, commission이 포함된 wages 테이블이 나옵니다. 그러나 각 직원은 이 중 한 종류의 급여만 받습니다. 모든 직원에게 지급된 전체 급여액을 확인하려면 COALESCE 함수를 사용하여 hourly_wage, salary, commission에서 검색된 Null이 아닌 값만 포함시킵니다.
SET NOCOUNT ON
GO
USE master
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'wages')
DROP TABLE wages
GO
CREATE TABLE wages
(
emp_id tinyint identity,
hourly_wage decimal NULL,
salary decimal NULL,
commission decimal NULL,
num_sales tinyint NULL
)
GO
INSERT wages VALUES(10.00, NULL, NULL, NULL)
INSERT wages VALUES(20.00, NULL, NULL, NULL)
INSERT wages VALUES(30.00, NULL, NULL, NULL)
INSERT wages VALUES(40.00, NULL, NULL, NULL)
INSERT wages VALUES(NULL, 10000.00, NULL, NULL)
INSERT wages VALUES(NULL, 20000.00, NULL, NULL)
INSERT wages VALUES(NULL, 30000.00, NULL, NULL)
INSERT wages VALUES(NULL, 40000.00, NULL, NULL)
INSERT wages VALUES(NULL, NULL, 15000, 3)
INSERT wages VALUES(NULL, NULL, 25000, 2)
INSERT wages VALUES(NULL, NULL, 20000, 6)
INSERT wages VALUES(NULL, NULL, 14000, 4)
GO
SET NOCOUNT OFF
GO
SELECT CAST(COALESCE(hourly_wage * 40 * 52,
salary,
commission * num_sales) AS money) AS 'Total Salary'
FROM wages
GO
님들의 성의 있는 답변으로 문제가 모두 해결 되었습니다.
다시 한번 감사합니다.