将From_UnixTime函数的结果字符串转换为日期类型

问题描述 投票:0回答:1

我具有以下值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 birt
1个回答
0
投票

最简单的方法是使用默认的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
  ^^^^^^^^^^^                                      ^^^^^^^^
               ^^^^^^^^^^^^^          ^^^^^^^^

注意匹配的格式模型作为两个函数的参数。

© www.soinside.com 2019 - 2024. All rights reserved.