我具有以下值From_UnixTime(wp_postmeta.meta_value,'%d-%m-%Y')作为end_date,我在BIRT中将其用作参数。但是,数据类型=字符串,而它应该是日期类型。我知道如何将字符串转换为日期类型:STR_TO_DATE(字符串,格式)。但是我不知道如何将两者结合起来。
我尝试过:STR_TO_DATE((From_UnixTime(wp_postmeta.meta_value,'%d-%m-%Y')),但这似乎不起作用。
我无法在Google上找到解决方案。有人知道如何解决这个问题吗?
亲切的问候,
米歇尔
最简单的方法是使用默认的MySQL日期时间格式,方法是将适当的格式字符串指定为第二个参数,或者省略第二个参数。添加间隔零天将强制转换(在MySQL中)为DATE(或DATETIME)格式。
看起来像是要断开时间(小时,分钟,)部分,只在午夜时间留下一个日期。
我们可以做这样的事情:
FROM_UNIXTIME(wp_postmeta.meta_value,'%Y-%m-%d') + INTERVAL 0 DAY AS end_date
STR_TO_DATE
函数可以使用,但是我们需要提供一个与提供的值匹配的格式模型。
STR_TO_DATE( FROM_UNIXTIME( foo ,'%Y-%m-%d') ,'%Y-%m-%d') AS end_date
^^^^^^^^^^^ ^^^^^^^^
^^^^^^^^^^^^^ ^^^^^^^^
-或-
STR_TO_DATE( FROM_UNIXTIME( foo ,'%m/%d/%Y') ,'%m/%d/%y') AS end_date
^^^^^^^^^^^ ^^^^^^^^
^^^^^^^^^^^^^ ^^^^^^^^
注意匹配的格式模型作为两个函数的参数。