过滤条件

4445
13

nannan 数据老手Lv5

发表于2019-6-3 09:45

悬赏1

已解决

楼主
left(STARTGD.START_TIME,8)<=today() and left(STARTGD.START_TIME,8)>=od(today(),'m=1;d=1')   过滤条件里面写了这些,STARTGD.START_TIME 是int12 整数类型,但是运行出来结果为空,这个语句是哪里有问题吗

最近看过此主题的会员

esen_4YO0F42DH6

esen_4Z13AHW4Y9

esen_4UP5G4WZ0L

灰龙

esen_4PBBEIJOPT

chenytaa

13560327322

贯佳睿

莱卡

daix

常远征

zk_jeson

简单点2018

hero851815

董斯文

最佳答案
本帖最后由 孤傲的旋律 于 2019-6-3 15:22 编辑
nannan 发表于 2019-6-3 10:40
有的,我截图里面 5月份都有一大堆,怎么会计算不出来呢

数据库中都查不出来就不是BI层面的问题啦  您看下数据库中的sql怎么才是正确的呢。然后再到BI中去分析过滤条件设置为STARTGD.SFZCX='1' and substr(STARTGD.START_TIME,0,8)<=left(today(),8) and substr(STARTGD.START_TIME,0,8)>=od(left(today(),8),'m=1;d=1')

13个回答

只看楼主

孤傲的旋律 数据达人Lv4

发表于2019-6-3 09:50

只看该作者

取消 关注该作者的回复

沙发

today()的格式是yyyymmdd这种,您STARTGD.START_TIME这个字段的日期格式是否也是yyyymmdd呢 要保持格式一致才能正常过滤哦

nannan 数据老手Lv5

发表于2019-6-3 09:53

只看该作者

取消 关注该作者的回复

板凳

孤傲的旋律 发表于 2019-6-3 09:50
today()的格式是yyyymmdd这种,您STARTGD.START_TIME这个字段的日期格式是否也是yyyymmdd呢 要保持格式一致 ...

是年月日时分的格式,但是我用left函数取了前8位了呀

孤傲的旋律 数据达人Lv4

发表于2019-6-3 09:58

只看该作者

取消 关注该作者的回复

地板

nannan 发表于 2019-6-3 09:53
是年月日时分的格式,但是我用left函数取了前8位了呀

看一下结果表生成的SQL,数据上的问题从sql层面判断比较快一点

nannan 数据老手Lv5

发表于2019-6-3 10:01

只看该作者

取消 关注该作者的回复

5#

孤傲的旋律 发表于 2019-6-3 09:58
看一下结果表生成的SQL,数据上的问题从sql层面判断比较快一点

select sum(a.SFZCX) as A1
from SW_STARTGD a
where ((a.SFZCX = 1) AND (a.START_TIME <= '20190603') AND (a.START_TIME >= '20190101'))

这是sql也没问题啊,但是就是没有结果生成

孤傲的旋律 数据达人Lv4

发表于2019-6-3 10:04

只看该作者

取消 关注该作者的回复

6#

nannan 发表于 2019-6-3 10:01
select sum(a.SFZCX) as A1
from SW_STARTGD a
where ((a.SFZCX = 1) AND (a.START_TIME = '20190101') ...

这个放到数据库中去能查出来数据吗?

nannan 数据老手Lv5

发表于2019-6-3 10:12

只看该作者

取消 关注该作者的回复

7#

孤傲的旋律 发表于 2019-6-3 10:04
这个放到数据库中去能查出来数据吗?

数据库里也查不出来,但是数据是有的,6月3日之前有一大堆数据,为什么用这个语句算不出来呢,语句也没有报错呀

孤傲的旋律 数据达人Lv4

发表于2019-6-3 10:24

只看该作者

取消 关注该作者的回复

8#

nannan 发表于 2019-6-3 10:12
数据库里也查不出来,但是数据是有的,6月3日之前有一大堆数据,为什么用这个语句算不出来呢,语句也没有 ...

a.START_TIME <= '20190603') AND (a.START_TIME >= '20190101'
看这个范围内有没有数据啊。

nannan 数据老手Lv5

发表于2019-6-3 10:40

只看该作者

取消 关注该作者的回复

9#

孤傲的旋律 发表于 2019-6-3 10:24
a.START_TIME = '20190101'
看这个范围内有没有数据啊。

有的,我截图里面 5月份都有一大堆,怎么会计算不出来呢

孤傲的旋律 数据达人Lv4

发表于2019-6-3 09:45

只看该作者

取消 关注该作者的回复

10#

本帖最后由 孤傲的旋律 于 2019-6-3 15:22 编辑

nannan 发表于 2019-6-3 10:40
有的,我截图里面 5月份都有一大堆,怎么会计算不出来呢

数据库中都查不出来就不是BI层面的问题啦  您看下数据库中的sql怎么才是正确的呢。然后再到BI中去分析过滤条件设置为STARTGD.SFZCX='1' and substr(STARTGD.START_TIME,0,8)<=left(today(),8) and substr(STARTGD.START_TIME,0,8)>=od(left(today(),8),'m=1;d=1')

nannan 数据老手Lv5

发表于2019-6-3 11:38

只看该作者

取消 关注该作者的回复

11#

孤傲的旋律 发表于 2019-6-3 10:56
数据库中都查不出来就不是BI层面的问题啦  您看下数据库中的sql怎么才是正确的呢。然后再到BI中去分析 ...

数据库中可以查出来,之前忘记加substr了,数据库用的是Oracle,所以我用substr截取时间了,BI里面用left截取为什么就查不出来呢

上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号