SQL> select min(pid),max(pid),count(1),count(distinct pid) from TB_WOPAY_RSA; MIN(PID) MAX(PID) COUNT(1) COUNT(DISTINCTPID) ---------- ---------- ---------- ------------------ 0 999999 5000000 5000000 SQL> desc TB_WOPAY_RSA Name Type Nullable Default Comments ---------- -------------- -------- ------- ----------- PID VARCHAR2(10) PUBLICKEY VARCHAR2(1024) Y Public key PRIVATEKEY VARCHAR2(1024) Y Private key CREATEDATE DATE Y Create date pid是表的主键,但最大值和最小值的差却小于数据量,这是怎么回事呢? 你可能会猜想: 该字段是varchar2数据类型,里面可能包含非数字字符。 但是下面查询结果是空的: select * from TB_WOPAY_RSA where not regexp_like (pid, '^(+|[0-9]+)$'); 还有什么其他想法吗? 看看下面的查询结果你就明白了: SQL> select min(pid),max(pid+0),count(1),count(distinct pid) from wappay.TB_WOPAY_RSA; MIN(PID) MAX(PID+0) COUNT(1) COUNT(DISTINCTPID) ---------- ---------- ---------- ------------------ 0 4999999 5000000 5000000 是的,造成上面困扰的原因是查询时我们潜意识将pid转化为数字进行大小比较了。而max、min针对varchar2的大小比较是“逐位进行”的, 作为数字,4999999 > 999999 但字符串是逐位比较的,'999999' > '4999999',因为用第一位做比较时,'9'>'4'。
最值问题引发的困扰
来源:这里教程网
时间:2026-03-03 15:49:02
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- oracle 12c 静默安装以及使用问题小结
oracle 12c 静默安装以及使用问题小结
26-03-03 - 如何一次性操作几百个新浪博客?怎么同时登录新浪号?
如何一次性操作几百个新浪博客?怎么同时登录新浪号?
26-03-03 - 一台电脑怎么管理多个新浪博客?便捷方法告诉你!
一台电脑怎么管理多个新浪博客?便捷方法告诉你!
26-03-03 - 用的人比较多的自媒体分发软件,这款最安全!
用的人比较多的自媒体分发软件,这款最安全!
26-03-03 - 木鱼小铺:商家如何玩转社区团购小程序
木鱼小铺:商家如何玩转社区团购小程序
26-03-03 - Oracle 没有索引导致的DPR
Oracle 没有索引导致的DPR
26-03-03 - 怎么样批量操作多个易车号?一次性在易车号上发30篇文章
怎么样批量操作多个易车号?一次性在易车号上发30篇文章
26-03-03 - 适合大型企业!自媒体隐藏账号密码第三方应用
适合大型企业!自媒体隐藏账号密码第三方应用
26-03-03 - 一键分发工具哪个最好用?看这个!
一键分发工具哪个最好用?看这个!
26-03-03 - Oracle AWR内容详解
Oracle AWR内容详解
26-03-03
