Some difference between mysql & oracle

huakaibird發表於2007-10-11

1.
create table TEST
(
num1 number(10),
num2 number(10),
num3 number(10)
)

insert into TEST values(2,4,2).
update TESTHUA set num1=num1+2,num2=num2+8,num3=num2/num1;

select * from TEST

oracle's result:
4,12,2
when oracle execute num3,the value of num1 and num2 didn't change.


mysql's result:
4,12,3
when mysql execute num3,the value of num1 and num2 changed already.
num1 early than num2 because num1's position is bofore num2

It means that oracle update the field data at the same time but
the mysql not,It update the field data behind the "set" by the sequence .

2.special character: oracle: '
mysql: '

3.null phenomenon:
in mysql: null is different from '';
insert into test(ID) values(1);
insert into test(ID,name) values(2,'');
execute:
select * from test where name is null; The reuslt is only 1.
select * from test where name=''; The result is 2.

in oracle: '' is same as null;
select * from test where name is null; The reuslt is 1,2.
select * from test where name=''; No result;

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/545828/viewspace-975780/,如需轉載,請註明出處,否則將追究法律責任。

相關文章