在部门同步的啥时候有一个存储过程,里面有个条件是 a.fid<>b.fid 然后就导致有的部门没用同步
举个简单的例子:
如果你在查询 SELECT a,b,c,d FROM test
中获得的结果是 1, 2, , 4
然后添加条件SELECT a,b,c,d FROM test WHERE a <> c
查询中,需要注意以下几点
NULL
不等于任何值,包括另一个 NULL
。如果 a
或 c
任何一方是 NULL
,a <> c
将不会返回 TRUE
,而是会被认为是 UNKNOWN
,因此这行数据不会出现在结果集中 但是确实不等于c
解决方案有好多 case when 分情况,
SELECT abcd
FROM test
WHERE
CASE
WHEN a IS NULL AND c IS NULL THEN 0
WHEN a IS NULL OR c IS NULL THEN 1
WHEN a IS NOT NULL AND c IS NOT NULL AND a <> c THEN 1
END = 1;
COALESCE函数
SELECT COALESCE(abcd, 'N/A') FROM test;
这里推荐 decode函数
SELECT abcd
FROM test
WHERE
DECODE(a, NULL, 0, a)<>DECODE(c, NULL, 0 、c)
decode (1,2,3,4) 就是1字段 跟2比较,等于就是3 不等于就是4
下课