VSO5做了一个增删改的东西,公司Oracle运行的没有问题,回家用ACCESS运行就得不到结果。
监视了下SQL语句,向大虾请教下!一.SQL语句插入测试
1。Oracle,ACCESS建了一个同样的表
2. 都用语句insert into ISSUE_STATUS (ISSUENO,ITHANDLE,ISSUE_STATUS,ITREMARK) values('ddd111','','','')插入一条记录
3. Oracle中用查询语句---(1)select * from issue_status where ithandle is null ,有结果
(2)select * from issue_status where ithandle='' ,无结果4. ACCESS中用查询语句---(1)select * from issue_status where ithandle is null ,无结果
(2)select * from issue_status where ithandle='' ,有结果
两者不一样二。用ACCESS和PLSQLDeveloper的输入自动生成测试
1.Oracle中添加一行,在行中第一列输入数据---(1)用null查询有结果(2)用=''查询无结果
2.ACCESS添加一行,在行中第一列输入数据---(1)用null查询有结果(2)用=''查询无结果两者一样三。我困扰了好久的地方呵呵
(1)我在ASP.NET点击插入后,在新行的第一列输入数据
(2)我以为效果和二一样,结果证明效果是和一一样,所以从Oracle数据库换到ACCESS后我的代码运行就不对了!!其他的MYSQL,SQL SERVER是不是也有这种类似的区别,请教了!!!
监视了下SQL语句,向大虾请教下!一.SQL语句插入测试
1。Oracle,ACCESS建了一个同样的表
2. 都用语句insert into ISSUE_STATUS (ISSUENO,ITHANDLE,ISSUE_STATUS,ITREMARK) values('ddd111','','','')插入一条记录
3. Oracle中用查询语句---(1)select * from issue_status where ithandle is null ,有结果
(2)select * from issue_status where ithandle='' ,无结果4. ACCESS中用查询语句---(1)select * from issue_status where ithandle is null ,无结果
(2)select * from issue_status where ithandle='' ,有结果
两者不一样二。用ACCESS和PLSQLDeveloper的输入自动生成测试
1.Oracle中添加一行,在行中第一列输入数据---(1)用null查询有结果(2)用=''查询无结果
2.ACCESS添加一行,在行中第一列输入数据---(1)用null查询有结果(2)用=''查询无结果两者一样三。我困扰了好久的地方呵呵
(1)我在ASP.NET点击插入后,在新行的第一列输入数据
(2)我以为效果和二一样,结果证明效果是和一一样,所以从Oracle数据库换到ACCESS后我的代码运行就不对了!!其他的MYSQL,SQL SERVER是不是也有这种类似的区别,请教了!!!
所以你用 is null 能查出
用 [='']相当于[=NULL],这个就不用说了,返回结果 unknown,自然什么也查不出
在access中 0长度字符串不会被自动转化成 NULL,
所以你用 is null 查不出,因为在access中 NULL 和 '' 是不一样的。
为了避免上面的问题最好在插入数据的时候使用 NULL 关键字,oracle也推荐这么做。
insert into ISSUE_STATUS (ISSUENO,ITHANDLE,ISSUE_STATUS,ITREMARK)
values('ddd111',NULL,NULL,NULL);
values('ddd111',NULL,NULL,NULL);的效果...
除非检测''值然后后台转为NULL?