关于paradox表中null值的处理(100分)

  • 主题发起人 主题发起人 lzhq
  • 开始时间 开始时间
L

lzhq

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用tquery搜索一个表如下(table1,fie1,fie2为两个数值类型的域)
select fie1-fie2
from table1
当两个域都有值的时候,返回的值时对的.当一个域没有值时,就返回null
有没有一个好方法实现当一个域为null时当成0来处理.最好能直接用sql语句
来实现
 
下面的命令在 dbf 中通过:
select
cast( ('0' ||cast(fie1 as varchar(20))) as numeric) - cast( ('0' ||cast(fie2
as varchar(20))) as numeric)
from table1

原理:
|| 是字符串连接操作符
假如有非空值,比如123.45,转化为字符串 '0123.45' 再转回数字 还是 123.45
假如有空值, '0'||NULL 是字串 '0' 而不是 null ,再转回数字就是 0 了
 
Pipi,高,实在是高!
 
上面我说的不能处理负数,其实不用 '0'||......

直接用 ''||...... 就已经可以了转化为0了

select
cast( ('' ||cast(fie1 as varchar(20))) as numeric) - cast( ('' ||cast(fie2 as varchar(20))) as numeric)from table1
 
接受答案了.
 
后退
顶部