Vraag : Plaats een negatieve kolomwaarde aan 0 in SQL Server

Ik heb een mening die de boetes voor een vertraagd bibliotheekboek gegevens verwerkt. De logica die is controle nr van dag tussen DUE_DATE en de huidige datum en vermenigvuldigt het met een FINE_AMOUNT.

Now de kwestie wordt gebruikt ik ben één van de kolom negatief ben heb aangezien de vervaldatum groter is dan de datum van vandaag. Zie mijn/>My verwijzing script.

is (DATEDIFF (dd, DUE_DATE, getdate ()) * FINE_PRICE) ALS FINE_AMOUNT,
" codeBody "
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:
" notpretty "
--VERANDER MENING [dbo]. [LIBRARY_LOAN_REGISTRATION_VIEW]
--ZOALS
Selecteer
	LLR.ID,
	ISNULL (LLR.LIBRARY_ID, - 1) ALS LIBRARY_ID,
	ISNULL (LC.LIBRARY_NAME, '') ALS LIBRARY_NAME,
	ISNULL (LC.FINE_PRICE, 1) ALS FINE_PRICE,
	ISNULL (LLR.ASSET_ID, - 1) ALS ASSET_ID,
	ISNULL (LR.TITLE, '') ALS TITEL,
	ISNULL (LLR.LOANER_ID, - 1) ALS LOANER_ID,
	COMPUTER-AIDED SOFTWARE ENGINEERING LOANER_ID
         WANNEER 1 TOEN ISNULL (STUDENT_REG.FIRST_NAME, '') + ''+ ISNULL (STUDENT_REG.LAST_NAME, '')
         WANNEER 2 TOEN ISNULL (TEACHER.FIRST_NAME, '') + ''+ ISNULL (TEACHER.LAST_NAME, '')
         WANNEER 3 TOEN ISNULL (ADMINISTRATOR.FIRST_NAME, '') + ''+ ISNULL (ADMINISTRATOR.LAST_NAME, '')
         WANNEER 4 TOEN ISNULL (PRINCIPAL.FIRST_NAME, '') + ''+ ISNULL (PRINCIPAL.LAST_NAME, '')
		 WANNEER 5 TOEN ISNULL (PARENT.FIRST_NAME, '') + ''+ ISNULL (PARENT.LAST_NAME, '')
    EIND ALS LOANER_NAME,	
	ISNULL (LLR.LOANER_TYPE_ID, - 1) ALS LOANER_TYPE_ID,
	ISNULL (VARCHAR BEKEERLING (, LLR.LOAN_DATE, 106), '') ALS LOAN_DATE, 
	ISNULL (VARCHAR BEKEERLING (, LLR.DUE_DATE, 106), '') ALS DUE_DATE, 
	ISNULL (VARCHAR BEKEERLING (, LLR.RETURN_DATE, 106), '') ALS RETURN_DATE, 
	DATEDIFF (dd, DUE_DATE, getdate ()) ALS NUM_OF_DAY_LATE,
	ISNULL (LLR.LENDING_STATUS_ID, - 1) ALS LENDING_STATUS_ID,
	(DATEDIFF (dd, DUE_DATE, getdate ()) * FINE_PRICE) ALS FINE_AMOUNT,
 	ISNULL (LKLS.NAME, '') ALS LENDING_STATUS
	 
VAN
	dbo.LIBRARY_LOAN_REGISTRATION LLR VERLATEN BUITEN TREDEN TOE
	dbo.LIBRARY_CONFIGURATION LC OP LLR.LIBRARY_ID=LC.ID VERLATEN BUITEN TREDEN TOE
	dbo.LIBRARY_REPOSITORY LR OP LLR.ASSET_ID=LR.ID VERLATEN BUITEN TREEDT TOE
	dbo.LIBRARY_KEYWORD_LENDING_STATUS LKLS OP LLR.LENDING_STATUS_ID=LKLS.KEYWORD_ID VERLATEN BUITEN TREDEN TOE
	dbo.STUDENTS_REGISTRATION_VIEW AANGEZIEN STUDENT_REG OP LLR.LOANER_ID = STUDENT_REG.ID EN LLR.LOANER_ID = 1 BUITEN VERLATEN TOETREEDT	
	dbo.STAFF_REGISTRATION_VIEW AANGEZIEN DE LERAAR OP LLR.LOANER_ID = TEACHER.ID EN LLR.LOANER_ID = 2 BUITEN VERLATEN TOETREEDT    
	dbo.STAFF_REGISTRATION_VIEW AANGEZIEN DE BEHEERDER OP LLR.LOANER_ID = ADMINISTRATOR.ID EN LLR.LOANER_ID =3 BUITEN WEGGING TREED TOE    
	dbo.STAFF_REGISTRATION_VIEW ZOALS BELANGRIJKSTE OP LLR.LOANER_ID = TREDEN PRINCIPAL.ID EN LLR.LOANER_ID = 4 VERLATEN BUITEN TOE    
	dbo.PARENT_REGISTRATION_VIEW ALS OUDER OP LLR.LOANER_ID = PARENT.ID EN LLR.LOANER_ID = 5
GA

VEROORZAAK ANSI_NULLS
GA
VEROORZAAK QUOTED_IDENTIFIER
GA

Antwoord : Plaats een negatieve kolomwaarde aan 0 in SQL Server

COMPUTER-AIDED SOFTWARE ENGINEERING WANNEER DATEDIFF (dd, DUE_DATE, getdate ()) <� 0="" Then="" 0="" ELSE="">(DATEDIFF (dd, DUE_DATE, getdate ()) *) EIND FINE_PRICE ALS FINE_AMOUNT,
Andere oplossingen  
 
programming4us programming4us