Cuestión : Fijar un valor negativo de la columna a 0 en servidor del SQL

Tengo una visión que compute las multas para un libro retrasado de la biblioteca. La lógica que es utilizada es cheque no del día entre el DUE_DATE y la fecha actual y lo multiplica con un FINE_AMOUNT.

Now la edición que estoy teniendo soy uno de la columna soy negativo puesto que la fecha debida es mayor que fecha de hoy. Ver que mi referencia atada de script.

My es este código en el view
(DATEDIFF (DD, DUE_DATE, getdate ()) * FINE_PRICE) COMO FINE_AMOUNT,
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
class= " del id= " codeSnippet943794 del
--ALTERAR LA VISIÓN [dbo]. [LIBRARY_LOAN_REGISTRATION_VIEW]
--COMO
Selecto
	LLR.ID,
	ISNULL (LLR.LIBRARY_ID, - 1) COMO LIBRARY_ID,
	ISNULL (LC.LIBRARY_NAME, '') COMO LIBRARY_NAME,
	ISNULL (LC.FINE_PRICE, 1) COMO FINE_PRICE,
	ISNULL (LLR.ASSET_ID, - 1) COMO ASSET_ID,
	ISNULL (LR.TITLE, '') COMO TÍTULO,
	ISNULL (LLR.LOANER_ID, - 1) COMO LOANER_ID,
	CASO LOANER_ID
         CUANDO 1 ENTONCES ISNULL (STUDENT_REG.FIRST_NAME, '') + ''+ ISNULL (STUDENT_REG.LAST_NAME, '')
         CUANDO 2 ENTONCES ISNULL (TEACHER.FIRST_NAME, '') + ''+ ISNULL (TEACHER.LAST_NAME, '')
         CUANDO 3 ENTONCES ISNULL (ADMINISTRATOR.FIRST_NAME, '') + ''+ ISNULL (ADMINISTRATOR.LAST_NAME, '')
         CUANDO 4 ENTONCES ISNULL (PRINCIPAL.FIRST_NAME, '') + ''+ ISNULL (PRINCIPAL.LAST_NAME, '')
		 CUANDO 5 ENTONCES ISNULL (PARENT.FIRST_NAME, '') + ''+ ISNULL (PARENT.LAST_NAME, '')
    EXTREMO COMO LOANER_NAME,	
	ISNULL (LLR.LOANER_TYPE_ID, - 1) COMO LOANER_TYPE_ID,
	ISNULL (CONVERTIDO (varchar, LLR.LOAN_DATE, 106), '') COMO LOAN_DATE, 
	ISNULL (CONVERTIDO (varchar, LLR.DUE_DATE, 106), '') COMO DUE_DATE, 
	ISNULL (CONVERTIDO (varchar, LLR.RETURN_DATE, 106), '') COMO RETURN_DATE, 
	DATEDIFF (DD, DUE_DATE, getdate ()) COMO NUM_OF_DAY_LATE,
	ISNULL (LLR.LENDING_STATUS_ID, - 1) COMO LENDING_STATUS_ID,
	(DATEDIFF (DD, DUE_DATE, getdate ()) * FINE_PRICE) COMO FINE_AMOUNT,
 	ISNULL (LKLS.NAME, '') COMO LENDING_STATUS
	 
DE
	dbo.LIBRARY_LOAN_REGISTRATION LLR DEJADO EXTERNOS ENSAMBLAN
	dbo.LIBRARY_CONFIGURATION LC EN LLR.LIBRARY_ID=LC.ID DEJADO EXTERNO ENSAMBLAN
	dbo.LIBRARY_REPOSITORY LR EN LLR.ASSET_ID=LR.ID DEJADO EXTERNO ENSAMBLAN
	dbo.LIBRARY_KEYWORD_LENDING_STATUS LKLS EN LLR.LENDING_STATUS_ID=LKLS.KEYWORD_ID DEJADO EXTERNO ENSAMBLAN
	dbo.STUDENTS_REGISTRATION_VIEW COMO STUDENT_REG EN LLR.LOANER_ID = STUDENT_REG.ID Y LLR.LOANER_ID = 1 DEJADO EXTERNO ENSAMBLAN	
	dbo.STAFF_REGISTRATION_VIEW COMO PROFESOR EN LLR.LOANER_ID = TEACHER.ID Y LLR.LOANER_ID = 2 SE FUE EXTERNO ENSAMBLA    
	dbo.STAFF_REGISTRATION_VIEW COMO ADMINISTRADOR EN LLR.LOANER_ID = ADMINISTRATOR.ID Y LLR.LOANER_ID =3 SE FUE EXTERNO ENSAMBLA    
	dbo.STAFF_REGISTRATION_VIEW COMO PRINCIPAL EN LLR.LOANER_ID = PRINCIPAL.ID Y LLR.LOANER_ID = 4 SE FUE EXTERNO ENSAMBLA    
	dbo.PARENT_REGISTRATION_VIEW COMO PADRE EN LLR.LOANER_ID = PARENT.ID Y LLR.LOANER_ID = 5
IR

FIJAR ANSI_NULLS APAGADO
IR
FIJAR QUOTED_IDENTIFIER APAGADO
IR
class= del

Respuesta : Fijar un valor negativo de la columna a 0 en servidor del SQL

CASO CUANDO DATEDIFF (DD, DUE_DATE, getdate ()) <� 0="" Then="" 0="" ELSE="">(DATEDIFF (DD, DUE_DATE, getdate ()) * FINE_PRICE) EXTREMO COMO FINE_AMOUNT,
Otras soluciones  
 
programming4us programming4us