-
-
chenxing 小试身手Lv3
发表于2019-5-31 10:34
悬赏50
已解决
为什么用days计算两个日期间隔时,第一个会先被转换为字符串
chenxing 发表于 2019-5-31 11:39
days(product.create_time,spend.rq) 第一个日期格式为:‘yyyy-MM-dd hh-mm-ss’ 第二个日期格式为: ‘y ...
可能是格式需要装换成一致的。用datetostr装换成一样的日期格式然后再求days
9个回答
是的,我需要求两个日期间隔的天数,但其中一个转换成了字符串,另一个还是日期格式
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)
chenxing 发表于 2019-5-31 11:39
days(product.create_time,spend.rq) 第一个日期格式为:‘yyyy-MM-dd hh-mm-ss’ 第二个日期格式为: ‘y ...
可能是格式需要装换成一致的。用datetostr装换成一样的日期格式然后再求days
孤傲的旋律 发表于 2019-5-31 15:08
可能是格式需要装换成一致的。用datetostr装换成一样的日期格式然后再求days ...
但第一个转换成字符串了,第二个依旧是日期格式,计算结果根本不对
chenxing 发表于 2019-5-31 15:25
但第一个转换成字符串了,第二个依旧是日期格式,计算结果根本不对
days(strtodate(product.create_time,"yyyymmdd"),strtodate(spend.rq,"yyyymmdd") )
孤傲的旋律 发表于 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’格式的日期依旧保持为日期
chenxing 发表于 2019-6-3 09:33
额,我需要的是怎么在BI上实现两个日期的间隔计算,而不是用sql语句实现。用days去计算,‘yyyy-MM-dd’ ...
strtodate强转成日期啊。