用days函数问题

4954
9

chenxing 小试身手Lv3

发表于2019-5-31 10:34

悬赏50

已解决

楼主
两个日期,第一个格式为: ‘yyyy-mm-dd’ 第二个格式为: ‘yyyy-MM-dd hh-mm-ss’
为什么用days计算两个日期间隔时,第一个会先被转换为字符串

最近看过此主题的会员

hjg

@bert

esen_54ZSNAG0E4

esen_4Y3L5ADO80

leiz

小培波

九九九

影风

mylawn

chenza

shixiang

lingquan

你好啊

最佳答案
chenxing 发表于 2019-5-31 11:39
days(product.create_time,spend.rq)  第一个日期格式为:‘yyyy-MM-dd hh-mm-ss’ 第二个日期格式为: ‘y ...

可能是格式需要装换成一致的。用datetostr装换成一样的日期格式然后再求days
9个回答

只看楼主

孤傲的旋律 数据达人Lv4

发表于2019-5-31 10:37

只看该作者

取消 关注该作者的回复

沙发

转为字符串怎么了呢,是days求出来的值错了吗?

chenxing 小试身手Lv3

发表于2019-5-31 10:59

只看该作者

取消 关注该作者的回复

板凳

是的,我需要求两个日期间隔的天数,但其中一个转换成了字符串,另一个还是日期格式

孤傲的旋律 数据达人Lv4

发表于2019-5-31 11:13

只看该作者

取消 关注该作者的回复

地板

chenxing 发表于 2019-5-31 10:59
是的,我需要求两个日期间隔的天数,但其中一个转换成了字符串,另一个还是日期格式 ...

具体的表达式是怎么写的

chenxing 小试身手Lv3

发表于2019-5-31 11:39

只看该作者

取消 关注该作者的回复

5#

days(product.create_time,spend.rq)  第一个日期格式为:‘yyyy-MM-dd hh-mm-ss’ 第二个日期格式为: ‘yyyy-MM-dd’
转换成sql语句中的计算方式:to_days(str_to_date(concat(LEFT(spend.rq, 4), '0101'),'%Y%m%d')) - to_days(product.create_date)
我需要的结果sql是:to_days(spend.rq) - to_days(product.create_date)

孤傲的旋律 数据达人Lv4

发表于2019-5-31 10:34

只看该作者

取消 关注该作者的回复

6#

chenxing 发表于 2019-5-31 11:39
days(product.create_time,spend.rq)  第一个日期格式为:‘yyyy-MM-dd hh-mm-ss’ 第二个日期格式为: ‘y ...

可能是格式需要装换成一致的。用datetostr装换成一样的日期格式然后再求days

chenxing 小试身手Lv3

发表于2019-5-31 15:25

只看该作者

取消 关注该作者的回复

7#

孤傲的旋律 发表于 2019-5-31 15:08
可能是格式需要装换成一致的。用datetostr装换成一样的日期格式然后再求days ...

但第一个转换成字符串了,第二个依旧是日期格式,计算结果根本不对

孤傲的旋律 数据达人Lv4

发表于2019-5-31 15:33

只看该作者

取消 关注该作者的回复

8#

chenxing 发表于 2019-5-31 15:25
但第一个转换成字符串了,第二个依旧是日期格式,计算结果根本不对

days(strtodate(product.create_time,"yyyymmdd"),strtodate(spend.rq,"yyyymmdd") )

chenxing 小试身手Lv3

发表于2019-6-3 09:33

只看该作者

取消 关注该作者的回复

9#

孤傲的旋律 发表于 2019-5-31 15:33
days(strtodate(product.create_time,"yyyymmdd"),strtodate(spend.rq,"yyyymmdd") )

额,我需要的是怎么在BI上实现两个日期的间隔计算,而不是用sql语句实现。用days去计算,‘yyyy-MM-dd’的会被转换成字符串,而‘yyyy-MM-dd hh-mm-ss’依旧为日期格式。
我需要的是,怎么让‘yyyy-MM-dd’格式的日期依旧保持为日期

孤傲的旋律 数据达人Lv4

发表于2019-6-3 10:08

只看该作者

取消 关注该作者的回复

10#

chenxing 发表于 2019-6-3 09:33
额,我需要的是怎么在BI上实现两个日期的间隔计算,而不是用sql语句实现。用days去计算,‘yyyy-MM-dd’ ...

strtodate强转成日期啊。

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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