UID * 0

zs13601668003 2014-08-18 04:02:51
小弟想咨询下 各位UID * 0 在ORACLE sql语言中代表什么意思?有什么作用?
...全文
333 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzt584434229 2014-10-31
  • 打赏
  • 举报
回复
楼主知道为什么了吗?我也想知道原因,我用toad进行分析后,最快的那个也加了uid*0,但是就是不知道为什么
zs13601668003 2014-08-19
  • 打赏
  • 举报
回复
原来是4分钟,加了变1分半了
卖水果的net 2014-08-18
  • 打赏
  • 举报
回复
就一个表达式,LZ 说的快了点,应该是多次执行后数据缓存的事儿 。
zs13601668003 2014-08-18
  • 打赏
  • 举报
回复
加了这 + UID * 0之后速度是快了点。。。 想知道是什么原理。
zs13601668003 2014-08-18
  • 打赏
  • 举报
回复
引用 4 楼 bw555 的回复:
是用户的id,每个用户中的表取出的uid都是一样的,修正下
什么意思。。。 不是很懂
bw555 2014-08-18
  • 打赏
  • 举报
回复
是用户的id,每个用户中的表取出的uid都是一样的,修正下
bw555 2014-08-18
  • 打赏
  • 举报
回复
UID 是系统保留字,表示的是整个数据库的id 每个表都可以 select uid from 表 对于同一个数据库,取出的uid值都是一样的 但是这个数*0再加0 貌似和0没啥区别
zs13601668003 2014-08-18
  • 打赏
  • 举报
回复
SELECT cpay2.demandno, COUNT(DISTINCT cpay2.ACCD_1) ACCD_1, MAX(cpay2.ACCD_3) ACCD_3, COUNT(DISTINCT cpay2.K_B) ACCD_KIND_B, COUNT(DISTINCT cpay2.K_A) ACCD_KIND_A, COUNT(DISTINCT cpay2.K_Z) ACCD_KIND_Z, COUNT(DISTINCT cpay2.T1) ACCD_1_T1, COUNT(DISTINCT cpay2.T2) ACCD_1_T2, COUNT(DISTINCT cpay2.T3) ACCD_1_T3, COUNT(DISTINCT cpay2.T4) ACCD_1_T4, COUNT(DISTINCT cpay2.T5) ACCD_1_T5, COUNT(DISTINCT cpay2.T9) ACCD_1_T9 FROM (SELECT cpay1.demandno, cpay1.losstime ACCD_1, (SELECT COUNT(DISTINCT t.losstime) FROM ods_ciinsuredemandpay t, ods_ciinsuredemandduplicated f WHERE t.demandno = f.demandno AND TO_DATE(t.losstime, 'YYYY-MM-DD hh24:mi') BETWEEN ADD_MONTHS(f.startdate, -36) AND f.enddate AND t.demandno = cpay1.demandno AND t.lossfee > 0 + UID * 0 GROUP BY t.demandno) ACCD_3, DECODE(cpay1.kindcode, '2', cpay1.losstime) K_B, DECODE(cpay1.kindcode, '3', cpay1.losstime) K_A, DECODE(cpay1.kindcode, '9', cpay1.losstime) K_Z, DECODE(cpay1.paytype, '1', cpay1.losstime) T1, DECODE(cpay1.paytype, '2', cpay1.losstime) T2, DECODE(cpay1.paytype, '3', cpay1.losstime) T3, DECODE(cpay1.paytype, '4', cpay1.losstime) T4, DECODE(cpay1.paytype, '5', cpay1.losstime) T5, DECODE(cpay1.paytype, '9', cpay1.losstime) T9 FROM ods_ciinsuredemandpay cpay1, (SELECT DISTINCT t.demandno, t.startdate, t.enddate FROM ods_ciinsuredemandduplicated t) cdmd1 WHERE cpay1.lossfee > 0 + UID * 0 AND cpay1.demandno = cdmd1.demandno AND TO_DATE(cpay1.losstime, 'YYYY-MM-DD hh24:mi') BETWEEN cdmd1.startdate AND cdmd1.enddate ) cpay2 GROUP BY cpay2.demandno
bw555 2014-08-18
  • 打赏
  • 举报
回复
引用 楼主 zs13601668003 的回复:
小弟想咨询下 各位UID * 0 在ORACLE sql语言中代表什么意思?有什么作用?
单看这个 只能把 * 看成是乘号了 把具体代码贴出来看吧,看看有没有特殊含义

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧