我的数据库中有datetime()
列date_time
。
我需要将其转换为date()
并创建一个新的临时列date_field
,直到会话结束。
我试过这个:
$query1 = SELECT date_time, date(date_time) as date_field FROM table_name....
这样可以创建一个临时列date_field
,其中包含date_time
字段的所有日期值
问题:这仅适用于此查询。我还有另一个搜索date_time
字段的查询,从而导致数据库错误Unknown field 'date_field'
。
$query2 = SELECT date_field FROM table_name
| This table doesn't have date_field as a column
是否可以创建此字段,以便我可以使用它一段时间直到会话结束?就像我们为临时表做的那样?
注意:由于代码限制,我无法在此处使用ALTER添加新列。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
在第一个查询中,你真的没有创建任何列,只需返回一个列(date_time),在其上运行一些函数(date())并给它一个别名(date_field)。这只发生在结果集中,并且不能在此查询之外使用。
您需要做的只是在第二个查询中使用相同的内容:而不是select date field
,您需要select date(date_time) as date_field