Selasa, 05 Mei 2009

Null in MYSQL

5 + NULL = ....? (0, 5 atau NULL), jawabnya adalah NULL bukan 0 apalagi 5..,

jadi hati-hati dengan nilai NULL ini, soalnya seringkali kita mengabaikan
nilai ini, terutama pada saat membuat database table dan memilih default value..,
padahal secara default sudah muncul NULL, nah disinilah perlu waspada..,

Masalah ini kalau dibiarkan akan berakibat sangat merepotkan, terutama pada
saat kita melakukan perhitungan dengan menggunakan field-field yang mempunyai
nilai NULL tersebut, karena walaupun bagaimana akan menghasilkan NULL.

Mungkin lebih baik menggunakan defaul 0 (nol), ini akan lebih aman karena
5 + 0 = 5, jadi perhitungan pasti akan menghasilkan sesuai dengan harapan.

NULL sendiri adalah bukan merupakan suatu nilai alias kosong, sedangkan
0 (nol) adalah nilai yang besarnya nol. Lihat aja query dibawah ini:

select if( - 5 <>menampilkan 'salah'
select if( 5 <>menampilkan 'salah'

tapi coba query berikut:

select if( - 5 <>menampilkan 'betul'
select if( 5 <>menampilkan 'salah'

ini berarti null, nggak bisa dipakai sebagai besaran karena apapun dioperasikan
terhadapnya akan menghasilkan null. Apa yang ter jadi jika anda lakukan query
berikut :

select sales, sum(amount) as ttl_amt from slstbl group by sales

sementara ada salah satu record yang amountnya 'null', bahaya...........,

implikasinya, kalo anda inging mengontrol variable dari nilai null ini, harus menggunakan
cara yang sedikit berbeda, lihat cara dibawah ini:

Set $Res =0;
Set $Ttl =0;
Set $Num =0

Cnt_Loop : Loop
Set $Num = $Num + 1;
if $Num > 10 then
leave Cnt_loop;
end if;

Set $Ttl = ( Select Sum(Amount)
From SalesTbl
Where SlsNam = 'Danu'
);

if $Ttl then <<<<======= mengontrol variable dari adanya NULL Set $Res = $Res + $Ttl; end if; end loop Cnt_Loop;

jadi pada saat mengontrol, tidak dilakukan dengan cara membandingkan nilai tersebut
dengan null if $Ttl = null then akan tetapi dengan cara mengecek apakah variable tersebut
ada nilainya if $Ttl then..,,

kalo didalam dunia pemrograman, hal ini sudah akan dideteksi pada saat mengcompile
program berupa 'variabel are not defined' atau 'variable are not initialized'
thank to world of programming.

tambahan info, variable kosong juga bernilai salah di perl

0 comments:

Rank

Google PageRank 
		Checker - Page Rank Calculator

Purchase your need Thru a secure online shop

Find a friend and it pays you.. Click to Join

1 mail, pay 1 cent

1centemails.com

Join and Get $100 for registration

boodaq.com

click your mail's link and earn your money...

Heaven - it is ok but try to earn money at hellishdollars.com <foo

Dibayar Rp. 100 per klik iklan.. join yukkk

Rp. 100 per klik Iklan.. Join ya..

Chat