본문 바로가기

프로그래밍/SQL

[질문&답] 값이 없는 경우(NULL) o를 텍스트 상자 SQL로 설정하는 방법


질문: 값이 NULL이면 값 0을 입력해야 합니다. 도와주세요!!

1
2
3
SELECT SUM(isnull(cast(REPLACE(TRY_CONVERT(int,TRY_CONVERT(float, iznos_bpdv),1), '#,0.00','0')AS decimal(10,2)),0.00)) as UKUPNObpdv
from mp_racun_roba
where tip_robe = 'Usluge (Generalno)' and id_fakture=105
cs

---------------------------------------------

답변) 음.. 이건 시도하겠지만, sql NULL의 값일 때 hapend가 없으며 NULL일 때 0.00일 필요가 없습니다. 즉

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
private void ukupno_bez_pdv_usluge()
{
SqlConnection con2 = new SqlConnection(cs);
 
string sqlquery = ("SELECT SUM(isnull(cast(REPLACE(TRY_CONVERT(int,TRY_CONVERT(float,iznos_bpdv),1), '#,0.00','')AS decimal(10,2)),0.00)) as UKUPNObpdv," +
" SUM(isnull(cast(REPLACE(TRY_CONVERT(float, TRY_CONVERT(float, pdv), 1), '#,0.00', '')AS decimal(10, 2)), 0.00)) as UKUPNOpdv," +
" SUM(isnull(cast(REPLACE(TRY_CONVERT(float, TRY_CONVERT(float, mp_cijena), 1), '#,0.00', '')AS decimal(10, 2)), 0.00)) as UKUPNOsapdv" +
" from mp_racun_roba" +
" where tip_robe = 'Usluge (Generalno)' and id_fakture =" + id_fakture
);
 
SqlCommand command = new SqlCommand(sqlquery, con2);
con2.Open();
SqlDataReader sdr = command.ExecuteReader();
 
if (sdr.Read())
{
 
usluga_bez_pdvTextBox.Text = sdr["UKUPNObpdv"].ToString();
usluga_pdvTextBox.Text = sdr["UKUPNOpdv"].ToString();
usluga_sa_pdvTextBox.Text = sdr["UKUPNOsapdv"].ToString();
 
}
else
{
 
usluga_bez_pdvTextBox.Text = "0.00";
usluga_pdvTextBox.Text = "0.00";
usluga_sa_pdvTextBox.Text = "0.00";
 
}
con2.Close();
}
cs

이런식으로 말입니다.