大佬教程收集整理的这篇文章主要介绍了两个相似数据库中的不同 DISTINCT 行为,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在两个不同的系统上有两个 Oracle 数据库。我将所有数据从一个数据库复制到另一个数据库。出于数据分析的目的,我想衡量我的数据质量。我在工作时注意到,当我在两个数据库上运行相同的代码时,会得到不同的结果。 columN 是我的主键列。
我想检查此列的语义相似度。所以我检查重复。由于 columN 是主键,因此不能存在两个完全相同的条目,但由于数据库区分大小写,因此允许存在两个大小写不同的条目。
首先我运行 alter session set NLS_SORT=BINARY_CI
以使会话不区分大小写。然后我运行以下代码以在我的表中查找重复项。
SELECT disTinCT *
FROM (SELECT columN COUNT(*) OVER (PARTITION BY columN) AS RN
FROM tablE)
WHERE RN > 1;
此时我得到以下两个表:
| columN | RN |
| ------ | -- |
| XXXX | 2 |
| XXxx | 2 |
然后我将两个表的 NLS_COM 设置为 liNGUSTIC
但是获取一张表
| columN | RN |
| ------ | -- |
| XXXX | 2 |
| XXxx | 2 |
对于另一个
| columN | RN |
| ------ | -- |
| XXxx | 2 |
两个表的NLS_SESSION_ParaMETERS
完全一样。我还应该检查什么以找出为什么 disTinCT 在两个系统中的行为不同?哪些参数对 disTinCT 有影响?
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的两个相似数据库中的不同 DISTINCT 行为全部内容,希望文章能够帮你解决两个相似数据库中的不同 DISTINCT 行为所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。